time="2024-05-08T10:04:19Z" level=warning msg="/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/integration-test/docker-compose.yaml: `version` is obsolete" Container integration-test-authorization-1 Creating Container integration-test-authentication-1 Creating Container integration-test-device-1 Creating Container integration-test-federation-1 Creating Container integration-test-gateway-1 Creating Container integration-test-experiment-1 Creating Container integration-test-authorization-1 Created Container integration-test-gateway-1 Created Container integration-test-authentication-1 Created Container integration-test-device-1 Created Container integration-test-federation-1 Created Container integration-test-experiment-1 Created Attaching to authentication-1, authorization-1, device-1, experiment-1, federation-1, gateway-1 gateway-1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration gateway-1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf gateway-1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf gateway-1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/authorization_service.conf to /etc/nginx/authorization_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/nginx.conf to /etc/nginx/nginx.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/device_service.conf to /etc/nginx/device_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/experiment_service.conf to /etc/nginx/experiment_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/auth_service.conf to /etc/nginx/auth_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/federation_service.conf to /etc/nginx/federation_service.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_json_errors.conf to /etc/nginx/api_json_errors.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf gateway-1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf gateway-1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh gateway-1 | /docker-entrypoint.sh: Configuration complete; ready for start up federation-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} federation-1 | {"level":"info","message":"Federation Service started successfully"} authorization-1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2024-05-08T10:05:05Z"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} device-1 | {"level":"info","message":"Device Service started successfully"} authorization-1 | {"client_addr":"127.0.0.1:44154","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-05-08T10:05:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44154","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.367964,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:05Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1715162705.6617649} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1715162705.661853} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1715162705.6618798} 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":1715162705.6619065} 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":1715162705.661931} 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":1715162705.6619785,"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":1715162705.6624646} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1715162705.6634126} 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:57992","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-05-08T10:05:05.687970947Z","id":"01HXBTKVRQ47VFM6WA12259AXA","name":"crosslab","updated_at":"2024-05-08T10:05:05.687970947Z"},"request_id":"4ee93f3e-3f1f-46d6-b888-7646908d7f65","subsystem":"openfga","timestamp":1715162705.6880813} 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:57992","raw_request":{"schema_version":"1.1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01HXBTKVTJQ4BG1QRWAFQSXCHA"},"request_id":"8319aca0-05c4-4dc5-97a0-44def24b354e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162705.7463818} authorization-1 | {"client_addr":"127.0.0.1:44154","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-05-08T10:05:05Z"} authorization-1 | {"client_addr":"127.0.0.1:44154","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.226377,"resp_status":204,"subsystem":"opa","time":"2024-05-08T10:05:05Z"} authorization-1 | {"level":"info","message":"Authorization Service started successfully"} authorization-1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v0.64.1/opa_linux_amd64","latest_version":"0.64.1","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v0.64.1","subsystem":"opa","time":"2024-05-08T10:05:05Z"} gateway-1 | {"time_local":"08/May/2024:10:05:14 +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.014","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"5076bba910b727bee2cd7edb6ea861eb"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 10ms","method":"HEAD","requestID":"5076bba910b727bee2cd7edb6ea861eb","responseTime":10,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"08/May/2024:10:05:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /device/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.011","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"f1b5e368f666c03db663c19c88f63363"} device-1 | {"level":"info","message":"HEAD /device/status 200 7ms","method":"HEAD","requestID":"771a34b0-0d22-11ef-9118-35435c36490d","responseTime":7,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"08/May/2024:10:05:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /authorization/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.007","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"33e5c3b47848cf0a06b0ed2f09baea11"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 2ms","meta":{"req":{"headers":{"accept":"*/*","connection":"close","host":"authorization_service","user-agent":"curl/7.81.0","x-request-id":"33e5c3b47848cf0a06b0ed2f09baea11"},"httpVersion":"1.0","method":"HEAD","originalUrl":"/authorization/status","query":{},"url":"/authorization/status"},"res":{"statusCode":200},"responseTime":2}} gateway-1 | {"time_local":"08/May/2024:10:05:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /federation/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.011","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"4caebfd0c57e4b01568d65d984d92bb8"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 8ms","method":"HEAD","requestID":"771eefa0-0d22-11ef-b8ff-4571079206a8","responseTime":8,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"08/May/2024:10:05:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /experiment/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.012","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"7d0e09de54925cdd404f04e4c28ca0c3"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 8ms","method":"HEAD","requestID":"7721aec0-0d22-11ef-937d-1d162014f9a9","responseTime":8,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"08/May/2024:10:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.096","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a89b7566d5848dd5b73c1be13050e32a"} authentication-1 | {"level":"info","message":"POST /login 201 86ms","method":"POST","requestID":"a89b7566d5848dd5b73c1be13050e32a","responseTime":86,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcxOH0.d-xKgt401LEpWYbd4N5sC-CUz4w3cOG5tC8gJCLDUlg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 13ms","method":"GET","requestID":"58e03b15668b251888ca530bb59ce087","responseTime":13,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.244829,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162718,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcxOH0.d-xKgt401LEpWYbd4N5sC-CUz4w3cOG5tC8gJCLDUlg"} 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":"58e03b15668b251888ca530bb59ce087"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea34a73b-2a18-47a9-a372-1deac43cf9bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a9cc4e24-41c2-4c42-9d11-0bfbdcafbbcc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162718.3805566} 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":"58e03b15668b251888ca530bb59ce087"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"97ad7948-2119-4fa0-bd06-07db7d835631","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162718.3973398} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58e03b15668b251888ca530bb59ce087"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea34a73b-2a18-47a9-a372-1deac43cf9bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"08d3a823-f414-4587-8fb6-0a2dda952fc8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162718.4138885} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8da1bad9-853f-48b4-9e86-b6514f0c0434","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162718.4143255} 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":"58e03b15668b251888ca530bb59ce087"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea34a73b-2a18-47a9-a372-1deac43cf9bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea34a73b-2a18-47a9-a372-1deac43cf9bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:18.413865151Z"}]},"request_id":"48489a11-a784-46e3-9bdd-ad4d3a036676","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162718.4228024} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58e03b15668b251888ca530bb59ce087"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.229","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"58e03b15668b251888ca530bb59ce087"} device-1 | {"level":"info","message":"POST /devices? 201 203ms","method":"POST","requestID":"58e03b15668b251888ca530bb59ce087","responseTime":203,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcxOH0.d-xKgt401LEpWYbd4N5sC-CUz4w3cOG5tC8gJCLDUlg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2289c48dcc2a56a7e5096c3875fb3d61","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.756193,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162718,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcxOH0.d-xKgt401LEpWYbd4N5sC-CUz4w3cOG5tC8gJCLDUlg"} 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":"2289c48dcc2a56a7e5096c3875fb3d61"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F861cce99-d20b-4a2e-ab76-f1c2fce699ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4db4b233-09e4-4571-b219-ccb2fba62b98","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162718.5044367} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2289c48dcc2a56a7e5096c3875fb3d61"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e5445fe-25be-4027-9477-112e4bad53a9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162718.5127006} 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":"2289c48dcc2a56a7e5096c3875fb3d61"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F861cce99-d20b-4a2e-ab76-f1c2fce699ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"c4a08d28-98bf-42bd-accb-7a551d418901","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162718.5264084} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2eac8a4f-3b70-4c7b-87f4-fc5a3448a270","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162718.526523} 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":"2289c48dcc2a56a7e5096c3875fb3d61"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F861cce99-d20b-4a2e-ab76-f1c2fce699ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F861cce99-d20b-4a2e-ab76-f1c2fce699ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:18.526386635Z"}]},"request_id":"92c4c09f-0c72-4896-b82d-cccfdebf85e6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162718.5360224} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2289c48dcc2a56a7e5096c3875fb3d61"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.085","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2289c48dcc2a56a7e5096c3875fb3d61"} device-1 | {"level":"info","message":"POST /devices? 201 79ms","method":"POST","requestID":"2289c48dcc2a56a7e5096c3875fb3d61","responseTime":79,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b227d581fc169178e031f4a1d7efda88","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":"c671e1b36fa9dfeff3d0392bcfa7ad90","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb/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":"b227d581fc169178e031f4a1d7efda88"} device-1 | {"level":"info","message":"OPTIONS /devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb/websocket 200 2ms","method":"OPTIONS","requestID":"b227d581fc169178e031f4a1d7efda88","responseTime":2,"status":200,"url":"/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb/websocket"} gateway-1 | {"time_local":"08/May/2024:10:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.008","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c671e1b36fa9dfeff3d0392bcfa7ad90"} device-1 | {"level":"info","message":"OPTIONS /devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee/websocket 200 1ms","method":"OPTIONS","requestID":"c671e1b36fa9dfeff3d0392bcfa7ad90","responseTime":1,"status":200,"url":"/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMH0.Yz8q2COiL0tGUowerhzwuhSmU5wHa4BW_yxJfaxnAwE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"55b9017464cc0b2f941c20525285f78b","responseTime":6,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMH0.Yz8q2COiL0tGUowerhzwuhSmU5wHa4BW_yxJfaxnAwE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"369ed53e545e8e36249be18ec5bbd1f1","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.763772,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162720,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMH0.Yz8q2COiL0tGUowerhzwuhSmU5wHa4BW_yxJfaxnAwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"55b9017464cc0b2f941c20525285f78b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52976","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52976","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.863232,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162720,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMH0.Yz8q2COiL0tGUowerhzwuhSmU5wHa4BW_yxJfaxnAwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"369ed53e545e8e36249be18ec5bbd1f1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.048","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"55b9017464cc0b2f941c20525285f78b"} device-1 | {"level":"info","message":"POST /devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb/websocket 200 40ms","method":"POST","requestID":"55b9017464cc0b2f941c20525285f78b","responseTime":40,"status":200,"url":"/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.057","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"369ed53e545e8e36249be18ec5bbd1f1"} device-1 | {"level":"info","message":"POST /devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee/websocket 200 47ms","method":"POST","requestID":"369ed53e545e8e36249be18ec5bbd1f1","responseTime":47,"status":200,"url":"/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMH0.Yz8q2COiL0tGUowerhzwuhSmU5wHa4BW_yxJfaxnAwE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"45f56a58410b60ab822cb727ed668b46","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.90665,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162720,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMH0.Yz8q2COiL0tGUowerhzwuhSmU5wHa4BW_yxJfaxnAwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45f56a58410b60ab822cb727ed668b46"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea34a73b-2a18-47a9-a372-1deac43cf9bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea34a73b-2a18-47a9-a372-1deac43cf9bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:18.413865151Z"}]},"request_id":"a6655bad-47f5-42d6-aff5-b4892de1ccc5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162720.9662857} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45f56a58410b60ab822cb727ed668b46"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45f56a58410b60ab822cb727ed668b46"} device-1 | {"level":"info","message":"GET /devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb? 200 23ms","method":"GET","requestID":"45f56a58410b60ab822cb727ed668b46","responseTime":23,"status":200,"url":"/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMH0.Yz8q2COiL0tGUowerhzwuhSmU5wHa4BW_yxJfaxnAwE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7750499b862dbe415ae5bc275a9f2f7f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.762323,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162720,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMH0.Yz8q2COiL0tGUowerhzwuhSmU5wHa4BW_yxJfaxnAwE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7750499b862dbe415ae5bc275a9f2f7f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F861cce99-d20b-4a2e-ab76-f1c2fce699ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F861cce99-d20b-4a2e-ab76-f1c2fce699ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:18.526386635Z"}]},"request_id":"913ed42c-bc5b-4b32-8bac-d8c42c5e90c2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162720.9969976} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7750499b862dbe415ae5bc275a9f2f7f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7750499b862dbe415ae5bc275a9f2f7f"} device-1 | {"level":"info","message":"GET /devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee? 200 18ms","method":"GET","requestID":"7750499b862dbe415ae5bc275a9f2f7f","responseTime":18,"status":200,"url":"/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"339ae82b27a897e21ad52748f6fedf04","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:52962","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.784361,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162721,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A"} 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":"339ae82b27a897e21ad52748f6fedf04"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a"},"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:52962","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.959446,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52976","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162721,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A"} 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":"7ac5d790-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:52976","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.624378,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162721,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A"} 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":"7ac625b0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea34a73b-2a18-47a9-a372-1deac43cf9bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea34a73b-2a18-47a9-a372-1deac43cf9bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:18.413865151Z"}]},"request_id":"a972b359-aa3d-4f8a-b91d-71a956c65099","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.178422} 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":"7ac5d790-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F861cce99-d20b-4a2e-ab76-f1c2fce699ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F861cce99-d20b-4a2e-ab76-f1c2fce699ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:18.526386635Z"}]},"request_id":"043fd857-b8e2-4b78-9c6c-cca1bfa74b24","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.1802711} 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":"7ac625b0-0d22-11ef-9118-35435c36490d"},"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/ea34a73b-2a18-47a9-a372-1deac43cf9bb? 200 28ms","method":"GET","requestID":"7ac5d790-0d22-11ef-9118-35435c36490d","responseTime":28,"status":200,"url":"/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee? 200 28ms","method":"GET","requestID":"7ac625b0-0d22-11ef-9118-35435c36490d","responseTime":28,"status":200,"url":"/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a"},"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:52962","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.770127,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52976","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162721,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A"} 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":"7ad67960-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:52976","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.916038,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162721,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A"} 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":"7ad6ee90-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.40618,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea34a73b-2a18-47a9-a372-1deac43cf9bb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d4773d40-1977-42e4-8f30-5e42e0c7c216","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.2888217} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea34a73b-2a18-47a9-a372-1deac43cf9bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea34a73b-2a18-47a9-a372-1deac43cf9bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:18.413865151Z"}]},"request_id":"2d50c089-dea6-4b12-9e4c-bc6b113de0b1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.2908165} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","object_type":"device","rebac_allow":false,"scope_allow":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":"7ad763c0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ad67960-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb/signaling 200 21ms","method":"POST","requestID":"7ad763c0-0d22-11ef-9118-35435c36490d","responseTime":21,"status":200,"url":"/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb/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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F861cce99-d20b-4a2e-ab76-f1c2fce699ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F861cce99-d20b-4a2e-ab76-f1c2fce699ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:18.526386635Z"}]},"request_id":"fe785075-b86e-4853-8927-8472b549c85f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.2960627} 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":"7ad6ee90-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb68e54a8-769b-4e73-8873-743b1404543a#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb68e54a8-769b-4e73-8873-743b1404543a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"b78bb851-e8be-4aa9-8f30-608ed2b726a0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.3000877} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb? 200 34ms","method":"GET","requestID":"7ad67960-0d22-11ef-9118-35435c36490d","responseTime":34,"status":200,"url":"/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb?"} 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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de940c56-9a83-4ffa-b157-73e0d129ab28","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.3058987} 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":"339ae82b27a897e21ad52748f6fedf04"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} device-1 | {"level":"info","message":"GET /devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee? 200 37ms","method":"GET","requestID":"7ad6ee90-0d22-11ef-9118-35435c36490d","responseTime":37,"status":200,"url":"/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F861cce99-d20b-4a2e-ab76-f1c2fce699ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"72566c40-875b-4c05-bc01-595c98056813","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.3123348} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.343536,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","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":"7adbd090-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee/signaling 200 17ms","method":"POST","requestID":"7adbd090-0d22-11ef-9118-35435c36490d","responseTime":17,"status":200,"url":"/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea34a73b-2a18-47a9-a372-1deac43cf9bb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd4d2443-2ffd-424d-9a69-5536eb134bee","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.3224564} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.235008,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} gateway-1 | {"time_local":"08/May/2024:10:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.318","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"339ae82b27a897e21ad52748f6fedf04"} experiment-1 | {"level":"info","message":"POST /experiments? 201 304ms","method":"POST","requestID":"339ae82b27a897e21ad52748f6fedf04","responseTime":304,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","object_type":"device","rebac_allow":false,"scope_allow":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":"7add5730-0d22-11ef-9118-35435c36490d"},"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/ea34a73b-2a18-47a9-a372-1deac43cf9bb/signaling 200 15ms","method":"POST","requestID":"7add5730-0d22-11ef-9118-35435c36490d","responseTime":15,"status":200,"url":"/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a1fb8d2e779b62a096f082b1dabfd082","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:52962","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.148157,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162721,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A"} 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":"a1fb8d2e779b62a096f082b1dabfd082"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:52976","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52976","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.394479,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F861cce99-d20b-4a2e-ab76-f1c2fce699ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ceaf266-12a9-44ce-ae00-40be4fb68c93","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.3432684} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","object_type":"device","rebac_allow":false,"scope_allow":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":"7ae08b80-0d22-11ef-9118-35435c36490d"},"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/861cce99-d20b-4a2e-ab76-f1c2fce699ee/signaling 200 12ms","method":"POST","requestID":"7ae08b80-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee/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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea34a73b-2a18-47a9-a372-1deac43cf9bb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea34a73b-2a18-47a9-a372-1deac43cf9bb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:18.413865151Z"}]},"request_id":"b204b396-a6a7-45a7-98b1-684abdb039ee","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.3493712} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a"},"level":"info","message":"Attempting to create peerconnections for experiment"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1fb8d2e779b62a096f082b1dabfd082"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"2ded279b-24b9-4895-a4bb-5adc641003a3"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"5296795d-6202-4bfd-a332-d7e40338fa98"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"64cd6e76-bd78-4686-8287-012b6b7e3157"}]},"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/861cce99-d20b-4a2e-ab76-f1c2fce699ee"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a1fb8d2e779b62a096f082b1dabfd082"} device-1 | {"level":"info","message":"GET /devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb? 200 20ms","method":"GET","requestID":"a1fb8d2e779b62a096f082b1dabfd082","responseTime":20,"status":200,"url":"/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb?"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fd9c0feeb514fc78b33e2e8eec8009e5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.721235,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52976","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162721,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ae3e6e0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52976","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.623243,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162721,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A"} 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":"fd9c0feeb514fc78b33e2e8eec8009e5"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F861cce99-d20b-4a2e-ab76-f1c2fce699ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F861cce99-d20b-4a2e-ab76-f1c2fce699ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:18.526386635Z"}]},"request_id":"cc9741c0-b58d-46b4-b3a2-8e222c41a317","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.373098} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd9c0feeb514fc78b33e2e8eec8009e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fd9c0feeb514fc78b33e2e8eec8009e5"} device-1 | {"level":"info","message":"GET /devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee? 200 16ms","method":"GET","requestID":"fd9c0feeb514fc78b33e2e8eec8009e5","responseTime":16,"status":200,"url":"/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"7d21a1f8-2ca1-4340-ba82-b0189992357c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.388983} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ab3ae3d-7439-4c15-9f04-a374f02d2854","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.3892314} 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":"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":"7ae3e6e0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} 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/963d4f66-363e-41a3-85a9-42710f9f0c7e'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/963d4f66-363e-41a3-85a9-42710f9f0c7e'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 50ms","method":"POST","requestID":"7ae3e6e0-0d22-11ef-9118-35435c36490d","responseTime":50,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea34a73b-2a18-47a9-a372-1deac43cf9bb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d0d6e2e-aa29-4784-831a-5fd506c11811","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.4499817} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.337735,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","object_type":"device","rebac_allow":false,"scope_allow":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":"7af10640-0d22-11ef-9118-35435c36490d"},"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/ea34a73b-2a18-47a9-a372-1deac43cf9bb/signaling 200 11ms","method":"POST","requestID":"7af10640-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F861cce99-d20b-4a2e-ab76-f1c2fce699ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"77f87452-384d-48df-867a-e093af5ff28e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.4658964} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.792982,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","object_type":"device","rebac_allow":false,"scope_allow":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":"7af37740-0d22-11ef-9118-35435c36490d"},"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/861cce99-d20b-4a2e-ab76-f1c2fce699ee/signaling 200 14ms","method":"POST","requestID":"7af37740-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/963d4f66-363e-41a3-85a9-42710f9f0c7e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"963d4f66-363e-41a3-85a9-42710f9f0c7e","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6bf9ef22aeb03c85bf754f0de9868609","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":"new","url":"http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/963d4f66-363e-41a3-85a9-42710f9f0c7e"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"963d4f66-363e-41a3-85a9-42710f9f0c7e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 13ms","method":"POST","requestID":"6bf9ef22aeb03c85bf754f0de9868609","responseTime":13,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05: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.018","http_referrer":"","http_user_agent":"node-fetch","requestID":"6bf9ef22aeb03c85bf754f0de9868609"} device-1 | {"data":{"peerconnection":"963d4f66-363e-41a3-85a9-42710f9f0c7e","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/963d4f66-363e-41a3-85a9-42710f9f0c7e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"963d4f66-363e-41a3-85a9-42710f9f0c7e","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":"029909ea48cfba71448ab386c0d72503","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/861cce99-d20b-4a2e-ab76-f1c2fce699ee"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/963d4f66-363e-41a3-85a9-42710f9f0c7e"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F963d4f66-363e-41a3-85a9-42710f9f0c7e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cb57f924-f678-4ae8-a1a1-8f4e34c7aa20","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.5830028} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.206284,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/963d4f66-363e-41a3-85a9-42710f9f0c7e","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/963d4f66-363e-41a3-85a9-42710f9f0c7e","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":"7b0578a0-0d22-11ef-9118-35435c36490d"},"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/963d4f66-363e-41a3-85a9-42710f9f0c7e 200 10ms","method":"GET","requestID":"7b0578a0-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/peerconnections/963d4f66-363e-41a3-85a9-42710f9f0c7e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"029909ea48cfba71448ab386c0d72503","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05: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.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"029909ea48cfba71448ab386c0d72503"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F861cce99-d20b-4a2e-ab76-f1c2fce699ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fbe70045-15a4-413c-a3bf-d8f539110d54","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.6143167} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.504869,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b0a3390-0d22-11ef-9118-35435c36490d"},"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/861cce99-d20b-4a2e-ab76-f1c2fce699ee/signaling 200 13ms","method":"POST","requestID":"7b0a3390-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"d602481c95414aab0faae76462fde12a","responseTime":11,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b68e54a8-769b-4e73-8873-743b1404543a"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea34a73b-2a18-47a9-a372-1deac43cf9bb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c73a60e5-e7a5-4adc-9ef9-7294fd4c8abf","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.629816} authorization-1 | {"client_addr":"127.0.0.1:52976","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.206786,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b0ca490-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52976","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.589054,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162721,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d602481c95414aab0faae76462fde12a"},"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/ea34a73b-2a18-47a9-a372-1deac43cf9bb/signaling 200 11ms","method":"POST","requestID":"7b0ca490-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b68e54a8-769b-4e73-8873-743b1404543a"} gateway-1 | {"time_local":"08/May/2024:10:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b68e54a8-769b-4e73-8873-743b1404543a HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d602481c95414aab0faae76462fde12a"} experiment-1 | {"level":"info","message":"GET /experiments/b68e54a8-769b-4e73-8873-743b1404543a 200 18ms","method":"GET","requestID":"d602481c95414aab0faae76462fde12a","responseTime":18,"status":200,"url":"/experiments/b68e54a8-769b-4e73-8873-743b1404543a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b849c5e17e3aca0555e17bb31f6ca92d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b68e54a8-769b-4e73-8873-743b1404543a"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.823599,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162721,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A"} 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":"b849c5e17e3aca0555e17bb31f6ca92d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.702208,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/963d4f66-363e-41a3-85a9-42710f9f0c7e","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/963d4f66-363e-41a3-85a9-42710f9f0c7e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162721,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A"} 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":"7b12e620-0d22-11ef-9118-35435c36490d"},"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/963d4f66-363e-41a3-85a9-42710f9f0c7e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/963d4f66-363e-41a3-85a9-42710f9f0c7e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"963d4f66-363e-41a3-85a9-42710f9f0c7e","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":"715c3ff0363807d3500604a74177a26d","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/963d4f66-363e-41a3-85a9-42710f9f0c7e"}}},"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":"5dcad4dd662ce487c6bb14b54ed11cf8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/963d4f66-363e-41a3-85a9-42710f9f0c7e"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F963d4f66-363e-41a3-85a9-42710f9f0c7e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F963d4f66-363e-41a3-85a9-42710f9f0c7e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"d9583c18-28b6-4f99-ac21-098fcebd0bdd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.6914544} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4aee9ed5-564b-4e28-a323-785e9fb44eb2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.691659} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b12e620-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"data":{"peerconnection":"963d4f66-363e-41a3-85a9-42710f9f0c7e","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/963d4f66-363e-41a3-85a9-42710f9f0c7e 204 60ms","method":"DELETE","requestID":"7b12e620-0d22-11ef-9118-35435c36490d","responseTime":60,"status":204,"url":"/peerconnections/963d4f66-363e-41a3-85a9-42710f9f0c7e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/b68e54a8-769b-4e73-8873-743b1404543a"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F861cce99-d20b-4a2e-ab76-f1c2fce699ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf9d30ff-4e96-4914-9179-18acee5a7b7a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.7600205} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.800538,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee","object_type":"device","rebac_allow":false,"scope_allow":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":"7b200580-0d22-11ef-9118-35435c36490d"},"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/861cce99-d20b-4a2e-ab76-f1c2fce699ee/signaling 200 13ms","method":"POST","requestID":"7b200580-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb68e54a8-769b-4e73-8873-743b1404543a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb68e54a8-769b-4e73-8873-743b1404543a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"69b5a0ef-545a-409f-920e-5f83ea550819","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.7690396} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4eb49cbf-5d85-4de7-9b26-82bf77a761ad","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.769327} 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":"b849c5e17e3aca0555e17bb31f6ca92d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea34a73b-2a18-47a9-a372-1deac43cf9bb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"adb11828-3159-4d62-9907-21305c3583d6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.7735953} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.602234,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b227680-0d22-11ef-9118-35435c36490d"},"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/ea34a73b-2a18-47a9-a372-1deac43cf9bb/signaling 200 10ms","method":"POST","requestID":"7b227680-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b68e54a8-769b-4e73-8873-743b1404543a"} gateway-1 | {"time_local":"08/May/2024:10:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b68e54a8-769b-4e73-8873-743b1404543a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b849c5e17e3aca0555e17bb31f6ca92d"} experiment-1 | {"level":"info","message":"DELETE /experiments/b68e54a8-769b-4e73-8873-743b1404543a 204 187ms","method":"DELETE","requestID":"b849c5e17e3aca0555e17bb31f6ca92d","responseTime":187,"status":204,"url":"/experiments/b68e54a8-769b-4e73-8873-743b1404543a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 156ms","method":"POST","requestID":"715c3ff0363807d3500604a74177a26d","responseTime":156,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05: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.160","http_referrer":"","http_user_agent":"node-fetch","requestID":"715c3ff0363807d3500604a74177a26d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 155ms","method":"POST","requestID":"5dcad4dd662ce487c6bb14b54ed11cf8","responseTime":155,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05: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.161","http_referrer":"","http_user_agent":"node-fetch","requestID":"5dcad4dd662ce487c6bb14b54ed11cf8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"522068fef8d226d4be5d7a5e87ab2f97","responseTime":5,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:05:21 +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.933","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"63c2b6b00913f0d902e791eb61268d6c"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/May/2024:10:05:21 +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.932","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2d98f74f4684cd0b41934a8bfdc10085"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.063974,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162721,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"522068fef8d226d4be5d7a5e87ab2f97"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/861cce99-d20b-4a2e-ab76-f1c2fce699ee' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ea34a73b-2a18-47a9-a372-1deac43cf9bb' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F783dfbe5-d8d5-4a43-9f85-79d6159b931d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"327fb001-b5a0-49a1-b32e-e12646c4b1fb","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.8744817} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"522068fef8d226d4be5d7a5e87ab2f97"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f1f81eb-0c5d-44de-91b6-665d2856216e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.8819907} 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":"522068fef8d226d4be5d7a5e87ab2f97"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F783dfbe5-d8d5-4a43-9f85-79d6159b931d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"28fac15f-1018-43a7-9e2e-3ed3c698da01","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.8928404} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"883af3fd-0c2a-43a4-b3e0-8c51f063adf3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.8932967} 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":"522068fef8d226d4be5d7a5e87ab2f97"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F783dfbe5-d8d5-4a43-9f85-79d6159b931d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F783dfbe5-d8d5-4a43-9f85-79d6159b931d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:21.892829673Z"}]},"request_id":"8c4cd04f-07ff-4f6f-8931-778004b37886","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.8974354} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"522068fef8d226d4be5d7a5e87ab2f97"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"522068fef8d226d4be5d7a5e87ab2f97"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"522068fef8d226d4be5d7a5e87ab2f97","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f4e0050ebcc139df1f93f435795bc4c4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.756432,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162721,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMX0.Ge894fEyhOigCGhBRwgsRSWWmLKg3Wtt2jA8nMl7o4A"} 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":"f4e0050ebcc139df1f93f435795bc4c4"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b6d657dc-4d92-4b1e-8832-46fbec701c5d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.9251072} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4e0050ebcc139df1f93f435795bc4c4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"34352996-2474-4cde-bae9-e0fe683d2bdd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.9309943} 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":"f4e0050ebcc139df1f93f435795bc4c4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"119870eb-ab61-4622-b0f1-f3f7a8ef69b1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.9450674} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1798f00-bbab-462c-a5e3-b1cde259baf1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.9452777} 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":"f4e0050ebcc139df1f93f435795bc4c4"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:21.945054738Z"}]},"request_id":"cb68fce3-09f6-4035-8132-55f5be324b29","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162721.950565} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4e0050ebcc139df1f93f435795bc4c4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f4e0050ebcc139df1f93f435795bc4c4"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"f4e0050ebcc139df1f93f435795bc4c4","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMn0.lb3F3XHacG7g27Ezsa2O5eCt8A7UR4D9dTrhhc9U0JE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"60f7a37ad8d75d84f975f4a850f68c15","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:22Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.654474,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162722,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMn0.lb3F3XHacG7g27Ezsa2O5eCt8A7UR4D9dTrhhc9U0JE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60f7a37ad8d75d84f975f4a850f68c15"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:21.945054738Z"}]},"request_id":"c8037e55-7f9b-418c-926b-ee77c4b1df1e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162722.5892267} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60f7a37ad8d75d84f975f4a850f68c15"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1578d85-46eb-4055-a750-3b1a4558909b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162722.5950003} 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":"60f7a37ad8d75d84f975f4a850f68c15"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:21.945054738Z"}]},"request_id":"b05ddd3d-aa84-4469-92e8-60cb668a6fe8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162722.6103597} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60f7a37ad8d75d84f975f4a850f68c15"},"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/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4 200 43ms","method":"PATCH","requestID":"60f7a37ad8d75d84f975f4a850f68c15","responseTime":43,"status":200,"url":"/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4"} gateway-1 | {"time_local":"08/May/2024:10:05:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"60f7a37ad8d75d84f975f4a850f68c15"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMn0.lb3F3XHacG7g27Ezsa2O5eCt8A7UR4D9dTrhhc9U0JE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8b656a8d3e820f81d44e943483e7c654","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:22Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670363,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:22Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162722,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyMn0.lb3F3XHacG7g27Ezsa2O5eCt8A7UR4D9dTrhhc9U0JE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b656a8d3e820f81d44e943483e7c654"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4/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":"8b656a8d3e820f81d44e943483e7c654"} device-1 | {"level":"info","message":"POST /devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4/websocket 200 15ms","method":"POST","requestID":"8b656a8d3e820f81d44e943483e7c654","responseTime":15,"status":200,"url":"/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4' 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":"b9faf321568e3c33ab8f461c7d597da8","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d/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":"b9faf321568e3c33ab8f461c7d597da8"} device-1 | {"level":"info","message":"OPTIONS /devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d/websocket 200 1ms","method":"OPTIONS","requestID":"b9faf321568e3c33ab8f461c7d597da8","responseTime":1,"status":200,"url":"/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyM30.9bakXIdKD40TsjflkIExI57bdBa0V7Yu8885L2fvyyk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b3a122c3eed5e8dad501ecd91cb0c1c2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725764,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162723,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyM30.9bakXIdKD40TsjflkIExI57bdBa0V7Yu8885L2fvyyk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3a122c3eed5e8dad501ecd91cb0c1c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d/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":"b3a122c3eed5e8dad501ecd91cb0c1c2"} device-1 | {"level":"info","message":"POST /devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d/websocket 200 35ms","method":"POST","requestID":"b3a122c3eed5e8dad501ecd91cb0c1c2","responseTime":35,"status":200,"url":"/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyM30.9bakXIdKD40TsjflkIExI57bdBa0V7Yu8885L2fvyyk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e7b73b2d0b06c46dfd847b41af2f9da3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.742448,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162723,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyM30.9bakXIdKD40TsjflkIExI57bdBa0V7Yu8885L2fvyyk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7b73b2d0b06c46dfd847b41af2f9da3"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F783dfbe5-d8d5-4a43-9f85-79d6159b931d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F783dfbe5-d8d5-4a43-9f85-79d6159b931d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:21.892829673Z"}]},"request_id":"8524e545-0ae3-4757-a470-b1d7ffec6686","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162723.926683} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7b73b2d0b06c46dfd847b41af2f9da3"},"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/783dfbe5-d8d5-4a43-9f85-79d6159b931d? 200 12ms","method":"GET","requestID":"e7b73b2d0b06c46dfd847b41af2f9da3","responseTime":12,"status":200,"url":"/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d?"} gateway-1 | {"time_local":"08/May/2024:10:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e7b73b2d0b06c46dfd847b41af2f9da3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyM30.9bakXIdKD40TsjflkIExI57bdBa0V7Yu8885L2fvyyk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"42702137eaddce3c3c52c30117e18692","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681961,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162723,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyM30.9bakXIdKD40TsjflkIExI57bdBa0V7Yu8885L2fvyyk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42702137eaddce3c3c52c30117e18692"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:21.945054738Z"}]},"request_id":"cfd69e0e-85a3-41a9-83ff-208680fa580e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162723.9445217} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42702137eaddce3c3c52c30117e18692"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"42702137eaddce3c3c52c30117e18692"} device-1 | {"level":"info","message":"GET /devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4? 200 12ms","method":"GET","requestID":"42702137eaddce3c3c52c30117e18692","responseTime":12,"status":200,"url":"/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyM30.9bakXIdKD40TsjflkIExI57bdBa0V7Yu8885L2fvyyk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"517cadc33119c88402ae5e756a5e63b7","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:52962","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.659974,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162723,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyM30.9bakXIdKD40TsjflkIExI57bdBa0V7Yu8885L2fvyyk"} 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":"517cadc33119c88402ae5e756a5e63b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"},"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:52962","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.968473,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162723,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyM30.9bakXIdKD40TsjflkIExI57bdBa0V7Yu8885L2fvyyk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c770a00-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:52976","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52976","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.863616,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162723,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyM30.9bakXIdKD40TsjflkIExI57bdBa0V7Yu8885L2fvyyk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c775820-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F783dfbe5-d8d5-4a43-9f85-79d6159b931d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F783dfbe5-d8d5-4a43-9f85-79d6159b931d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:21.892829673Z"}]},"request_id":"f8d4f64e-dca0-4ee6-bb16-9a14da486442","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162724.0105526} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c770a00-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:21.945054738Z"}]},"request_id":"68ced19b-6fbf-4b10-986e-aef9c2a65b3b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162724.0121477} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c775820-0d22-11ef-9118-35435c36490d"},"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/783dfbe5-d8d5-4a43-9f85-79d6159b931d? 200 16ms","method":"GET","requestID":"7c770a00-0d22-11ef-9118-35435c36490d","responseTime":16,"status":200,"url":"/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4? 200 16ms","method":"GET","requestID":"7c775820-0d22-11ef-9118-35435c36490d","responseTime":16,"status":200,"url":"/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"},"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/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.757269,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52976","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162723,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyM30.9bakXIdKD40TsjflkIExI57bdBa0V7Yu8885L2fvyyk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c80ce00-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52976","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665462,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162723,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyM30.9bakXIdKD40TsjflkIExI57bdBa0V7Yu8885L2fvyyk"} 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":"7c811c20-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.534536,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F783dfbe5-d8d5-4a43-9f85-79d6159b931d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7752a962-2d86-4698-b205-9f0ea50199a2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162724.0753222} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","object_type":"device","rebac_allow":false,"scope_allow":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":"7c816a40-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F783dfbe5-d8d5-4a43-9f85-79d6159b931d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F783dfbe5-d8d5-4a43-9f85-79d6159b931d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:21.892829673Z"}]},"request_id":"42885bcf-e141-4cbd-b3f1-e0b1c5ab590f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162724.0783882} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d/signaling 200 15ms","method":"POST","requestID":"7c816a40-0d22-11ef-9118-35435c36490d","responseTime":15,"status":200,"url":"/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c80ce00-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:21.945054738Z"}]},"request_id":"8dafb2c7-c258-4ba9-8882-0caa1e157f87","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162724.0833242} 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":"7c811c20-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"dc28db1b-fd12-430c-81fd-f78c31d39d28","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162724.090916} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d4b92bc-4251-4353-ac52-5f12aa17aa14","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162724.0910926} device-1 | {"level":"info","message":"GET /devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d? 200 28ms","method":"GET","requestID":"7c80ce00-0d22-11ef-9118-35435c36490d","responseTime":28,"status":200,"url":"/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4? 200 28ms","method":"GET","requestID":"7c811c20-0d22-11ef-9118-35435c36490d","responseTime":28,"status":200,"url":"/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4?"} 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":"517cadc33119c88402ae5e756a5e63b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"24c0bfa3-ac8d-460d-94f1-c39d72b657d4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162724.093813} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.821865,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","object_type":"device","rebac_allow":false,"scope_allow":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":"7c847780-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4/signaling 200 14ms","method":"POST","requestID":"7c847780-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/May/2024:10:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"517cadc33119c88402ae5e756a5e63b7"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:24Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 149ms","method":"POST","requestID":"517cadc33119c88402ae5e756a5e63b7","responseTime":149,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F783dfbe5-d8d5-4a43-9f85-79d6159b931d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d5f2f4da-734b-440a-81b6-bb077ca60ba1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162724.1042728} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.78453,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","object_type":"device","rebac_allow":false,"scope_allow":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":"7c85fe20-0d22-11ef-9118-35435c36490d"},"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/783dfbe5-d8d5-4a43-9f85-79d6159b931d/signaling 200 11ms","method":"POST","requestID":"7c85fe20-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyNH0.Epzn2koqDn6K9QD-IiCQfRYxqNi4UAyU776zOu2mOgE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8fb40e85430c5f906ff0c2a498dd73f3","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704651,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52976","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162724,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyNH0.Epzn2koqDn6K9QD-IiCQfRYxqNi4UAyU776zOu2mOgE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fb40e85430c5f906ff0c2a498dd73f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60930d75-78f6-4011-91c6-b1c06f6b7b7e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162724.1171296} authorization-1 | {"client_addr":"127.0.0.1:52976","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.849263,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c882100-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F783dfbe5-d8d5-4a43-9f85-79d6159b931d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F783dfbe5-d8d5-4a43-9f85-79d6159b931d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:21.892829673Z"}]},"request_id":"3383da56-93a5-43be-94b7-84d8e24dd483","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162724.1223092} device-1 | {"level":"info","message":"POST /devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4/signaling 200 11ms","method":"POST","requestID":"7c882100-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4/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":"8fb40e85430c5f906ff0c2a498dd73f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"467b618b-4da5-4e72-895f-dcd126b0af8b"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"70a33a93-aba5-4939-bcbc-6ecf1119de31"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7676f202-95fe-4bea-b28b-21b2568534f1"}]},"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/783dfbe5-d8d5-4a43-9f85-79d6159b931d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8fb40e85430c5f906ff0c2a498dd73f3"} device-1 | {"level":"info","message":"GET /devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d? 200 15ms","method":"GET","requestID":"8fb40e85430c5f906ff0c2a498dd73f3","responseTime":15,"status":200,"url":"/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.69349,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162723,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyM30.9bakXIdKD40TsjflkIExI57bdBa0V7Yu8885L2fvyyk"} 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":"7c8a6af0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyNH0.Epzn2koqDn6K9QD-IiCQfRYxqNi4UAyU776zOu2mOgE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0c3a8bf2c2ca7bd993704b9bf6b3dbac","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.844477,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162724,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyNH0.Epzn2koqDn6K9QD-IiCQfRYxqNi4UAyU776zOu2mOgE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c3a8bf2c2ca7bd993704b9bf6b3dbac"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:21.945054738Z"}]},"request_id":"bb2ab55b-74a2-42d1-92cc-fe293647124e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162724.142645} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c3a8bf2c2ca7bd993704b9bf6b3dbac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"7e9e3dcd-4350-4ca6-ab59-b8d956122bef","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162724.144007} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd78fbf0-156d-4a9f-8360-b3b9f5b3f5e4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162724.1442983} 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":"7c8a6af0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0c3a8bf2c2ca7bd993704b9bf6b3dbac"} device-1 | {"level":"info","message":"GET /devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4? 200 14ms","method":"GET","requestID":"0c3a8bf2c2ca7bd993704b9bf6b3dbac","responseTime":14,"status":200,"url":"/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4?"} 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/4b4ad6c6-9f9e-493e-9135-c4ca84118154'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/4b4ad6c6-9f9e-493e-9135-c4ca84118154'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 52ms","method":"POST","requestID":"7c8a6af0-0d22-11ef-9118-35435c36490d","responseTime":52,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F783dfbe5-d8d5-4a43-9f85-79d6159b931d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"70897c75-923b-4fb3-a3aa-fb409155f346","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162724.2100945} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.197295,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","object_type":"device","rebac_allow":false,"scope_allow":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":"7c9651d0-0d22-11ef-9118-35435c36490d"},"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/783dfbe5-d8d5-4a43-9f85-79d6159b931d/signaling 200 9ms","method":"POST","requestID":"7c9651d0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae0d7076-0f2a-4b56-9b1a-2ff3e339aedb","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162724.2234879} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.37203,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c984da0-0d22-11ef-9118-35435c36490d"},"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/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4/signaling 200 10ms","method":"POST","requestID":"7c984da0-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4/signaling"} device-1 | {"data":{"peerconnection":"4b4ad6c6-9f9e-493e-9135-c4ca84118154","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/4b4ad6c6-9f9e-493e-9135-c4ca84118154' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4b4ad6c6-9f9e-493e-9135-c4ca84118154","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":"80df05a491a6697dc875e159186669d7","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/783dfbe5-d8d5-4a43-9f85-79d6159b931d'"} 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/783dfbe5-d8d5-4a43-9f85-79d6159b931d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/4b4ad6c6-9f9e-493e-9135-c4ca84118154"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"80df05a491a6697dc875e159186669d7","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"80df05a491a6697dc875e159186669d7"} device-1 | {"data":{"peerconnection":"4b4ad6c6-9f9e-493e-9135-c4ca84118154","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"4b4ad6c6-9f9e-493e-9135-c4ca84118154","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/4b4ad6c6-9f9e-493e-9135-c4ca84118154' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4b4ad6c6-9f9e-493e-9135-c4ca84118154","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":"2003bbcd0cc5a1d626e27a3ee72d5655","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/783dfbe5-d8d5-4a43-9f85-79d6159b931d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/4b4ad6c6-9f9e-493e-9135-c4ca84118154"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:26Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4b4ad6c6-9f9e-493e-9135-c4ca84118154","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23440751-5a4a-4869-8642-9ac55ace8704","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162726.3173637} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.922263,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4b4ad6c6-9f9e-493e-9135-c4ca84118154","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/4b4ad6c6-9f9e-493e-9135-c4ca84118154","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":"7dd7d280-0d22-11ef-9118-35435c36490d"},"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/4b4ad6c6-9f9e-493e-9135-c4ca84118154 200 9ms","method":"GET","requestID":"7dd7d280-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/peerconnections/4b4ad6c6-9f9e-493e-9135-c4ca84118154"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"2003bbcd0cc5a1d626e27a3ee72d5655","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05: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.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"2003bbcd0cc5a1d626e27a3ee72d5655"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:26Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F783dfbe5-d8d5-4a43-9f85-79d6159b931d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"708a4885-ee38-4e9f-beac-326ca8e882f2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162726.348541} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.502593,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ddc8d70-0d22-11ef-9118-35435c36490d"},"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/783dfbe5-d8d5-4a43-9f85-79d6159b931d/signaling 200 10ms","method":"POST","requestID":"7ddc8d70-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:26Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e43f988-09a7-4cfd-888d-8a6b1f4c2990","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162726.3609855} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.488761,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7dde8940-0d22-11ef-9118-35435c36490d"},"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/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4/signaling 200 9ms","method":"POST","requestID":"7dde8940-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyNn0.cQLWJ48EAwkzG4yBRc_43cCqb05o-F2tdQc3D7iLOb4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2fac9ab4504125fa7607f777f16c26a9","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.950718,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162726,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyNn0.cQLWJ48EAwkzG4yBRc_43cCqb05o-F2tdQc3D7iLOb4"} 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":"2fac9ab4504125fa7607f777f16c26a9"},"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/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"} gateway-1 | {"time_local":"08/May/2024:10:05:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2fac9ab4504125fa7607f777f16c26a9"} experiment-1 | {"level":"info","message":"GET /experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7 200 14ms","method":"GET","requestID":"2fac9ab4504125fa7607f777f16c26a9","responseTime":14,"status":200,"url":"/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyNn0.cQLWJ48EAwkzG4yBRc_43cCqb05o-F2tdQc3D7iLOb4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3c787be49f0655b1a7eff6fa0d15d88b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.696875,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162726,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyNn0.cQLWJ48EAwkzG4yBRc_43cCqb05o-F2tdQc3D7iLOb4"} 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":"3c787be49f0655b1a7eff6fa0d15d88b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.002926,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:26Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4b4ad6c6-9f9e-493e-9135-c4ca84118154","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/4b4ad6c6-9f9e-493e-9135-c4ca84118154","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162726,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyNn0.cQLWJ48EAwkzG4yBRc_43cCqb05o-F2tdQc3D7iLOb4"} 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":"7de6c6a0-0d22-11ef-9118-35435c36490d"},"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/4b4ad6c6-9f9e-493e-9135-c4ca84118154' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/4b4ad6c6-9f9e-493e-9135-c4ca84118154' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"4b4ad6c6-9f9e-493e-9135-c4ca84118154","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":"3297d6402293de458c9cad5587c4ba9c","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":"d58e1fd957fc98600a671444b7eb67ef","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4b4ad6c6-9f9e-493e-9135-c4ca84118154': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4b4ad6c6-9f9e-493e-9135-c4ca84118154","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"569df019-0761-4f69-9111-1b3887615470","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162726.4303896} 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/783dfbe5-d8d5-4a43-9f85-79d6159b931d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4b4ad6c6-9f9e-493e-9135-c4ca84118154"}}},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d93bb4d3-b749-49d0-bbf9-0aa453387efd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162726.4307547} 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/783dfbe5-d8d5-4a43-9f85-79d6159b931d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4b4ad6c6-9f9e-493e-9135-c4ca84118154"}}},"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":"7de6c6a0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"data":{"peerconnection":"4b4ad6c6-9f9e-493e-9135-c4ca84118154","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/4b4ad6c6-9f9e-493e-9135-c4ca84118154 204 46ms","method":"DELETE","requestID":"7de6c6a0-0d22-11ef-9118-35435c36490d","responseTime":46,"status":204,"url":"/peerconnections/4b4ad6c6-9f9e-493e-9135-c4ca84118154"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:26Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F783dfbe5-d8d5-4a43-9f85-79d6159b931d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33d00d0b-b4f4-42ae-b5b6-01a3c681ab74","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162726.4778492} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.171115,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d","object_type":"device","rebac_allow":false,"scope_allow":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":"7df03c80-0d22-11ef-9118-35435c36490d"},"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/783dfbe5-d8d5-4a43-9f85-79d6159b931d/signaling 200 12ms","method":"POST","requestID":"7df03c80-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/783dfbe5-d8d5-4a43-9f85-79d6159b931d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"d6b8a5d3-cffb-41b8-8157-307246101f80","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162726.4883177} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0170a68e-8cdc-4ea8-8ac8-51bc46ed877f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162726.48944} authorization-1 | {"level":"info","message":"POST /relations/update 200 53ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3c787be49f0655b1a7eff6fa0d15d88b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":53}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:26Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe75b924c-cadd-46f5-85fd-2f3e50a6c2e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"316f4ce1-54d9-42d2-ac05-001959ed5ba1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162726.533845} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.197994,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7df2d490-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4/signaling 200 57ms","method":"POST","requestID":"7df2d490-0d22-11ef-9118-35435c36490d","responseTime":57,"status":200,"url":"/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"} gateway-1 | {"time_local":"08/May/2024:10:05:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.185","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3c787be49f0655b1a7eff6fa0d15d88b"} experiment-1 | {"level":"info","message":"DELETE /experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7 204 183ms","method":"DELETE","requestID":"3c787be49f0655b1a7eff6fa0d15d88b","responseTime":183,"status":204,"url":"/experiments/fb4fe1d9-e79b-48aa-9f85-a39a5cecc2f7"} gateway-1 | {"time_local":"08/May/2024:10:05:26 +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.940","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"981c584aefcc0ea0a058f547d72fabdb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 153ms","method":"POST","requestID":"3297d6402293de458c9cad5587c4ba9c","responseTime":153,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 154ms","method":"POST","requestID":"d58e1fd957fc98600a671444b7eb67ef","responseTime":154,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05: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.159","http_referrer":"","http_user_agent":"node-fetch","requestID":"3297d6402293de458c9cad5587c4ba9c"} gateway-1 | {"time_local":"08/May/2024:10:05: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.159","http_referrer":"","http_user_agent":"node-fetch","requestID":"d58e1fd957fc98600a671444b7eb67ef"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyNn0.cQLWJ48EAwkzG4yBRc_43cCqb05o-F2tdQc3D7iLOb4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"70eebf01bfd8bbf13b17143e487af2f6","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:26Z"} gateway-1 | {"time_local":"08/May/2024:10:05:26 +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.697","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ab8693e080e25ab46f2bf36b23b8a8c8"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.14311,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162726,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyNn0.cQLWJ48EAwkzG4yBRc_43cCqb05o-F2tdQc3D7iLOb4"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e75b924c-cadd-46f5-85fd-2f3e50a6c2e4' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"70eebf01bfd8bbf13b17143e487af2f6"},"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/783dfbe5-d8d5-4a43-9f85-79d6159b931d' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2185740f-0989-4fef-a1be-8abae295bedc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162726.6180742} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"70eebf01bfd8bbf13b17143e487af2f6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5b4e070d-4d10-4e22-bc21-2a1238d0e20d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162726.6239777} 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":"70eebf01bfd8bbf13b17143e487af2f6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"3c769713-8e2a-4d59-b633-047df50cef0f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162726.6352973} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dc2fd918-2842-45a4-9d1d-030ad94d79c3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162726.6354256} 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":"70eebf01bfd8bbf13b17143e487af2f6"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:26.635280104Z"}]},"request_id":"51bd2f87-f55c-405f-914f-f66d95417a39","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162726.6413102} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"70eebf01bfd8bbf13b17143e487af2f6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"70eebf01bfd8bbf13b17143e487af2f6"} device-1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"70eebf01bfd8bbf13b17143e487af2f6","responseTime":50,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyNn0.cQLWJ48EAwkzG4yBRc_43cCqb05o-F2tdQc3D7iLOb4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b1249915e4205846886f21e486994675","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.698248,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162726,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyNn0.cQLWJ48EAwkzG4yBRc_43cCqb05o-F2tdQc3D7iLOb4"} 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":"b1249915e4205846886f21e486994675"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59e373c8-7f71-4eae-94e3-33bdf6d55fae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dcd72721-47d5-492b-b0ce-26c19b42b826","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162726.6673484} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b1249915e4205846886f21e486994675"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c35fdce5-a7d9-4b81-9143-6e1eba6a0464","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162726.6738627} 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":"b1249915e4205846886f21e486994675"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59e373c8-7f71-4eae-94e3-33bdf6d55fae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"d69a5425-c119-440b-aabe-89beb07f45e2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162726.6843772} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72c0c9c5-eb1c-414c-a261-9ef4cc5c4524","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162726.684508} 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":"b1249915e4205846886f21e486994675"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59e373c8-7f71-4eae-94e3-33bdf6d55fae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59e373c8-7f71-4eae-94e3-33bdf6d55fae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:26.684361441Z"}]},"request_id":"708e83df-c4e7-43ec-9413-5b43df65b0ab","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162726.6897976} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b1249915e4205846886f21e486994675"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b1249915e4205846886f21e486994675"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"b1249915e4205846886f21e486994675","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyN30.0Lk0yNAGjQ4DJiF9-_9SMckP6HOcj6SP9OT1ZAyE4iA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e6e5be0403ade367246d64262cdbfba5","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:27Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.639089,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162727,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyN30.0Lk0yNAGjQ4DJiF9-_9SMckP6HOcj6SP9OT1ZAyE4iA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6e5be0403ade367246d64262cdbfba5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:26.635280104Z"}]},"request_id":"ac29dfa8-0808-497d-9ee5-a89a38178503","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162727.225492} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6e5be0403ade367246d64262cdbfba5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3dc1f631-af1c-4205-a990-2f5e455e06df","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162727.231568} 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":"e6e5be0403ade367246d64262cdbfba5"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:26.635280104Z"}]},"request_id":"3b449474-0348-489f-8cac-a48768f7ad3b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162727.2501783} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6e5be0403ade367246d64262cdbfba5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6b2f0455-174c-491b-9911-1faadbc5173f HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.048","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e6e5be0403ade367246d64262cdbfba5"} device-1 | {"level":"info","message":"PATCH /devices/6b2f0455-174c-491b-9911-1faadbc5173f 200 41ms","method":"PATCH","requestID":"e6e5be0403ade367246d64262cdbfba5","responseTime":41,"status":200,"url":"/devices/6b2f0455-174c-491b-9911-1faadbc5173f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyN30.0Lk0yNAGjQ4DJiF9-_9SMckP6HOcj6SP9OT1ZAyE4iA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"99469d5631f23a0978ae796ed71663e9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:27Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.756638,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162727,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyN30.0Lk0yNAGjQ4DJiF9-_9SMckP6HOcj6SP9OT1ZAyE4iA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99469d5631f23a0978ae796ed71663e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6b2f0455-174c-491b-9911-1faadbc5173f/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":"99469d5631f23a0978ae796ed71663e9"} device-1 | {"level":"info","message":"POST /devices/6b2f0455-174c-491b-9911-1faadbc5173f/websocket 200 15ms","method":"POST","requestID":"99469d5631f23a0978ae796ed71663e9","responseTime":15,"status":200,"url":"/devices/6b2f0455-174c-491b-9911-1faadbc5173f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f' 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":"ab70326958c8adc1b0d7ff8632c081eb","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:05:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae/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":"ab70326958c8adc1b0d7ff8632c081eb"} device-1 | {"level":"info","message":"OPTIONS /devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae/websocket 200 2ms","method":"OPTIONS","requestID":"ab70326958c8adc1b0d7ff8632c081eb","responseTime":2,"status":200,"url":"/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyOH0.cKHh7lLlD5dDtXRSgfDUHIyGlIZvI-TsvxjkzNTCcpQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"98bacb4700a4cc63313c5defc7c01e17","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.792955,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162728,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyOH0.cKHh7lLlD5dDtXRSgfDUHIyGlIZvI-TsvxjkzNTCcpQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98bacb4700a4cc63313c5defc7c01e17"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae/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":"98bacb4700a4cc63313c5defc7c01e17"} device-1 | {"level":"info","message":"POST /devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae/websocket 200 29ms","method":"POST","requestID":"98bacb4700a4cc63313c5defc7c01e17","responseTime":29,"status":200,"url":"/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyOH0.cKHh7lLlD5dDtXRSgfDUHIyGlIZvI-TsvxjkzNTCcpQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a607f6f12ce1f5f9fd4aa9cd54d5148e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.31021,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162728,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyOH0.cKHh7lLlD5dDtXRSgfDUHIyGlIZvI-TsvxjkzNTCcpQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a607f6f12ce1f5f9fd4aa9cd54d5148e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:26.635280104Z"}]},"request_id":"20d194b0-e88e-4fea-8eec-7c5894333fad","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162728.6849294} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a607f6f12ce1f5f9fd4aa9cd54d5148e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b2f0455-174c-491b-9911-1faadbc5173f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a607f6f12ce1f5f9fd4aa9cd54d5148e"} device-1 | {"level":"info","message":"GET /devices/6b2f0455-174c-491b-9911-1faadbc5173f? 200 12ms","method":"GET","requestID":"a607f6f12ce1f5f9fd4aa9cd54d5148e","responseTime":12,"status":200,"url":"/devices/6b2f0455-174c-491b-9911-1faadbc5173f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyOH0.cKHh7lLlD5dDtXRSgfDUHIyGlIZvI-TsvxjkzNTCcpQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"42463f7844a79a573d7df0773d427b37","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.669491,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162728,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyOH0.cKHh7lLlD5dDtXRSgfDUHIyGlIZvI-TsvxjkzNTCcpQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42463f7844a79a573d7df0773d427b37"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59e373c8-7f71-4eae-94e3-33bdf6d55fae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59e373c8-7f71-4eae-94e3-33bdf6d55fae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:26.684361441Z"}]},"request_id":"88698ff3-300b-4fdc-896b-71204bfb81a2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162728.702297} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42463f7844a79a573d7df0773d427b37"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"42463f7844a79a573d7df0773d427b37"} device-1 | {"level":"info","message":"GET /devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae? 200 14ms","method":"GET","requestID":"42463f7844a79a573d7df0773d427b37","responseTime":14,"status":200,"url":"/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyOH0.cKHh7lLlD5dDtXRSgfDUHIyGlIZvI-TsvxjkzNTCcpQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d5b0396cbee6519d7269a445d4504375","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:52962","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.024109,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162728,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyOH0.cKHh7lLlD5dDtXRSgfDUHIyGlIZvI-TsvxjkzNTCcpQ"} 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":"d5b0396cbee6519d7269a445d4504375"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"},"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:52962","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.632925,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162728,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyOH0.cKHh7lLlD5dDtXRSgfDUHIyGlIZvI-TsvxjkzNTCcpQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f4d3470-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.117402,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162728,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyOH0.cKHh7lLlD5dDtXRSgfDUHIyGlIZvI-TsvxjkzNTCcpQ"} 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":"7f4d5b80-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:26.635280104Z"}]},"request_id":"60e3ef56-8760-4623-9684-687ff1519afe","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162728.767993} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f4d3470-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59e373c8-7f71-4eae-94e3-33bdf6d55fae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59e373c8-7f71-4eae-94e3-33bdf6d55fae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:26.684361441Z"}]},"request_id":"1348ceb5-c2cf-4fbe-943a-8a4ab1245ba8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162728.7730293} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f4d5b80-0d22-11ef-9118-35435c36490d"},"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/6b2f0455-174c-491b-9911-1faadbc5173f? 200 18ms","method":"GET","requestID":"7f4d3470-0d22-11ef-9118-35435c36490d","responseTime":18,"status":200,"url":"/devices/6b2f0455-174c-491b-9911-1faadbc5173f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae? 200 19ms","method":"GET","requestID":"7f4d5b80-0d22-11ef-9118-35435c36490d","responseTime":19,"status":200,"url":"/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"},"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/cf826503-838f-42e4-beaf-ecd0398bdd1b"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.079259,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162728,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyOH0.cKHh7lLlD5dDtXRSgfDUHIyGlIZvI-TsvxjkzNTCcpQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f576da0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.825422,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162728,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyOH0.cKHh7lLlD5dDtXRSgfDUHIyGlIZvI-TsvxjkzNTCcpQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f5794b0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.015991,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7cbedcd7-9ec1-457c-9150-0b1ca3f22e8d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162728.836012} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","object_type":"device","rebac_allow":false,"scope_allow":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":"7f57e2d0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59e373c8-7f71-4eae-94e3-33bdf6d55fae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59e373c8-7f71-4eae-94e3-33bdf6d55fae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:26.684361441Z"}]},"request_id":"21c30da2-6ccc-41e3-a241-9a4311ec9e4b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162728.8404808} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f5794b0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:26.635280104Z"}]},"request_id":"2cf1db55-3290-4883-a17f-578535033769","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162728.8443205} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f576da0-0d22-11ef-9118-35435c36490d"},"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/6b2f0455-174c-491b-9911-1faadbc5173f/signaling 200 17ms","method":"POST","requestID":"7f57e2d0-0d22-11ef-9118-35435c36490d","responseTime":17,"status":200,"url":"/devices/6b2f0455-174c-491b-9911-1faadbc5173f/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae? 200 21ms","method":"GET","requestID":"7f5794b0-0d22-11ef-9118-35435c36490d","responseTime":21,"status":200,"url":"/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6b2f0455-174c-491b-9911-1faadbc5173f? 200 25ms","method":"GET","requestID":"7f576da0-0d22-11ef-9118-35435c36490d","responseTime":25,"status":200,"url":"/devices/6b2f0455-174c-491b-9911-1faadbc5173f?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcf826503-838f-42e4-beaf-ecd0398bdd1b#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcf826503-838f-42e4-beaf-ecd0398bdd1b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"bfc25e2d-c482-4fa8-983f-149dee5e7a84","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162728.8514159} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e3900d37-0778-4725-a96c-2e1d8759b7c2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162728.8518279} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:28Z"} 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":"d5b0396cbee6519d7269a445d4504375"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59e373c8-7f71-4eae-94e3-33bdf6d55fae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4523ca46-c02d-468d-9031-f774a62c3f99","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162728.8555841} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.110685,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","object_type":"device","rebac_allow":false,"scope_allow":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":"7f5af010-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:28Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae/signaling 200 12ms","method":"POST","requestID":"7f5af010-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f8c18227-c696-4b46-9cf7-b3e883f175e1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162728.8617039} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.790712,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:28Z"} gateway-1 | {"time_local":"08/May/2024:10:05:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5b0396cbee6519d7269a445d4504375"} experiment-1 | {"level":"info","message":"POST /experiments? 201 150ms","method":"POST","requestID":"d5b0396cbee6519d7269a445d4504375","responseTime":150,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","object_type":"device","rebac_allow":false,"scope_allow":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":"7f5bda70-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyOH0.cKHh7lLlD5dDtXRSgfDUHIyGlIZvI-TsvxjkzNTCcpQ","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"POST /devices/6b2f0455-174c-491b-9911-1faadbc5173f/signaling 200 12ms","method":"POST","requestID":"7f5bda70-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/6b2f0455-174c-491b-9911-1faadbc5173f/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d4f241abde76233e7edb513ac410fa10","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:52962","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.971833,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162728,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyOH0.cKHh7lLlD5dDtXRSgfDUHIyGlIZvI-TsvxjkzNTCcpQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d4f241abde76233e7edb513ac410fa10"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59e373c8-7f71-4eae-94e3-33bdf6d55fae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7695b181-0800-4b9a-ad7e-f0c2ee203362","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162728.8750205} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.005225,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f5e2460-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:26.635280104Z"}]},"request_id":"d4056160-dc4d-464e-9522-0abfd04fc8fe","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162728.8799422} device-1 | {"level":"info","message":"POST /devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae/signaling 200 10ms","method":"POST","requestID":"7f5e2460-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae/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":"d4f241abde76233e7edb513ac410fa10"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"14921b18-5d1d-4de0-922f-1759e1973a90"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"b45111e5-c34c-4b95-9e17-f5c5a4528ed9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e7c35725-0260-4bbf-984b-aadfe8ff974c"}]},"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/59e373c8-7f71-4eae-94e3-33bdf6d55fae"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6b2f0455-174c-491b-9911-1faadbc5173f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d4f241abde76233e7edb513ac410fa10"} device-1 | {"level":"info","message":"GET /devices/6b2f0455-174c-491b-9911-1faadbc5173f? 200 18ms","method":"GET","requestID":"d4f241abde76233e7edb513ac410fa10","responseTime":18,"status":200,"url":"/devices/6b2f0455-174c-491b-9911-1faadbc5173f?"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.725395,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162728,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyOH0.cKHh7lLlD5dDtXRSgfDUHIyGlIZvI-TsvxjkzNTCcpQ"} 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":"7f606e50-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyOH0.cKHh7lLlD5dDtXRSgfDUHIyGlIZvI-TsvxjkzNTCcpQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f3d3f99b7e474b69714740c453a36950","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.895574,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162728,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjcyOH0.cKHh7lLlD5dDtXRSgfDUHIyGlIZvI-TsvxjkzNTCcpQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3d3f99b7e474b69714740c453a36950"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"9bf09fe0-fe7b-4253-9a13-a38e3f98fddd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162728.9014852} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"960a4372-cd67-47f4-afc1-145d0146452f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162728.9018445} 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":"7f606e50-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59e373c8-7f71-4eae-94e3-33bdf6d55fae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59e373c8-7f71-4eae-94e3-33bdf6d55fae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:26.684361441Z"}]},"request_id":"2811e7b1-213a-459d-8d80-7ed66a07349f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162728.9029918} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3d3f99b7e474b69714740c453a36950"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f3d3f99b7e474b69714740c453a36950"} device-1 | {"level":"info","message":"GET /devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae? 200 29ms","method":"GET","requestID":"f3d3f99b7e474b69714740c453a36950","responseTime":29,"status":200,"url":"/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae?"} 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/7b9ee493-87d5-4c88-8b25-f1704d97b05b'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/7b9ee493-87d5-4c88-8b25-f1704d97b05b'"} 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":"7f606e50-0d22-11ef-9118-35435c36490d","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/cf826503-838f-42e4-beaf-ecd0398bdd1b"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb4826b2-7b77-483d-8544-7c827f586f74","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162728.9659288} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.273547,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f6c0710-0d22-11ef-9118-35435c36490d"},"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/6b2f0455-174c-491b-9911-1faadbc5173f/signaling 200 9ms","method":"POST","requestID":"7f6c0710-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/6b2f0455-174c-491b-9911-1faadbc5173f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59e373c8-7f71-4eae-94e3-33bdf6d55fae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b9d3b06f-0cab-41f4-9af7-3dddcb2ac145","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162728.9778447} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.385915,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","object_type":"device","rebac_allow":false,"scope_allow":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":"7f6db4c0-0d22-11ef-9118-35435c36490d"},"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/59e373c8-7f71-4eae-94e3-33bdf6d55fae/signaling 200 15ms","method":"POST","requestID":"7f6db4c0-0d22-11ef-9118-35435c36490d","responseTime":15,"status":200,"url":"/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae/signaling"} device-1 | {"data":{"peerconnection":"7b9ee493-87d5-4c88-8b25-f1704d97b05b","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/7b9ee493-87d5-4c88-8b25-f1704d97b05b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7b9ee493-87d5-4c88-8b25-f1704d97b05b","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/59e373c8-7f71-4eae-94e3-33bdf6d55fae'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"53d53a8d4b6f8bf73bc1da8e455e211c","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/59e373c8-7f71-4eae-94e3-33bdf6d55fae"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/7b9ee493-87d5-4c88-8b25-f1704d97b05b"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"53d53a8d4b6f8bf73bc1da8e455e211c","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"53d53a8d4b6f8bf73bc1da8e455e211c"} device-1 | {"data":{"peerconnection":"7b9ee493-87d5-4c88-8b25-f1704d97b05b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"7b9ee493-87d5-4c88-8b25-f1704d97b05b","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/7b9ee493-87d5-4c88-8b25-f1704d97b05b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7b9ee493-87d5-4c88-8b25-f1704d97b05b","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":"de5fb570a490edf5ceef331945af7c77","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/59e373c8-7f71-4eae-94e3-33bdf6d55fae"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/7b9ee493-87d5-4c88-8b25-f1704d97b05b"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7b9ee493-87d5-4c88-8b25-f1704d97b05b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b514d331-52d9-4510-a6ff-911b6e27e2de","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.1143007} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.361902,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7b9ee493-87d5-4c88-8b25-f1704d97b05b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/7b9ee493-87d5-4c88-8b25-f1704d97b05b","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":"80b3c950-0d22-11ef-9118-35435c36490d"},"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/7b9ee493-87d5-4c88-8b25-f1704d97b05b 200 9ms","method":"GET","requestID":"80b3c950-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/peerconnections/7b9ee493-87d5-4c88-8b25-f1704d97b05b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"de5fb570a490edf5ceef331945af7c77","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05: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.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"de5fb570a490edf5ceef331945af7c77"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59e373c8-7f71-4eae-94e3-33bdf6d55fae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c0e0e502-d6e4-43e9-b59b-e7c86a5ac693","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.1435447} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.151493,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"80b83620-0d22-11ef-9118-35435c36490d"},"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/59e373c8-7f71-4eae-94e3-33bdf6d55fae/signaling 200 10ms","method":"POST","requestID":"80b83620-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"40168015-6666-427c-b0c8-e1754d875e3e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.1576228} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.481357,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","object_type":"device","rebac_allow":false,"scope_allow":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":"80ba0ae0-0d22-11ef-9118-35435c36490d"},"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/6b2f0455-174c-491b-9911-1faadbc5173f/signaling 200 12ms","method":"POST","requestID":"80ba0ae0-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/6b2f0455-174c-491b-9911-1faadbc5173f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMX0.Z4DVoXuwdfIve5_90NZ8VJi9QYxnvALYiKbHFwhA-jE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"24eb245cf8cabf7c98fd154c1c7cbd4e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.656941,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162731,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMX0.Z4DVoXuwdfIve5_90NZ8VJi9QYxnvALYiKbHFwhA-jE"} 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":"24eb245cf8cabf7c98fd154c1c7cbd4e"},"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/cf826503-838f-42e4-beaf-ecd0398bdd1b"} experiment-1 | {"level":"info","message":"GET /experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b 200 10ms","method":"GET","requestID":"24eb245cf8cabf7c98fd154c1c7cbd4e","responseTime":10,"status":200,"url":"/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"} gateway-1 | {"time_local":"08/May/2024:10:05:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"24eb245cf8cabf7c98fd154c1c7cbd4e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMX0.Z4DVoXuwdfIve5_90NZ8VJi9QYxnvALYiKbHFwhA-jE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"23e891e59fbbe502264390da992744b2","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.674918,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162731,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMX0.Z4DVoXuwdfIve5_90NZ8VJi9QYxnvALYiKbHFwhA-jE"} 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":"23e891e59fbbe502264390da992744b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.647794,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/7b9ee493-87d5-4c88-8b25-f1704d97b05b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/7b9ee493-87d5-4c88-8b25-f1704d97b05b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162731,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMX0.Z4DVoXuwdfIve5_90NZ8VJi9QYxnvALYiKbHFwhA-jE"} 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":"80c380c0-0d22-11ef-9118-35435c36490d"},"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/7b9ee493-87d5-4c88-8b25-f1704d97b05b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/7b9ee493-87d5-4c88-8b25-f1704d97b05b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"7b9ee493-87d5-4c88-8b25-f1704d97b05b","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":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7b9ee493-87d5-4c88-8b25-f1704d97b05b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F7b9ee493-87d5-4c88-8b25-f1704d97b05b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"0abd306d-f999-4465-af15-2c7533b9ae43","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.229956} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fcfc88a934b372dc535d50ca2e2282a8","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4c3f66e3-208e-43a7-beab-a91ddef1865f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.230276} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/59e373c8-7f71-4eae-94e3-33bdf6d55fae"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7b9ee493-87d5-4c88-8b25-f1704d97b05b"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"294d5a144c5f891082078bf960e9e9ae","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"80c380c0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/7b9ee493-87d5-4c88-8b25-f1704d97b05b"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"7b9ee493-87d5-4c88-8b25-f1704d97b05b","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/7b9ee493-87d5-4c88-8b25-f1704d97b05b 204 38ms","method":"DELETE","requestID":"80c380c0-0d22-11ef-9118-35435c36490d","responseTime":38,"status":204,"url":"/peerconnections/7b9ee493-87d5-4c88-8b25-f1704d97b05b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F59e373c8-7f71-4eae-94e3-33bdf6d55fae","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"546906a0-86b6-4c93-b7c8-9e52305ed2ac","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.2716355} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.344376,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"80cbbe20-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae/signaling 200 14ms","method":"POST","requestID":"80cbbe20-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/59e373c8-7f71-4eae-94e3-33bdf6d55fae/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcf826503-838f-42e4-beaf-ecd0398bdd1b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcf826503-838f-42e4-beaf-ecd0398bdd1b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"db9d4ed3-d575-4e0d-a8bb-7469184a9ec7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.2844179} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dff4ffcf-6fd6-4efa-ac0d-f1a49b68660d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.2847824} authorization-1 | {"level":"info","message":"POST /relations/update 200 25ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23e891e59fbbe502264390da992744b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6b2f0455-174c-491b-9911-1faadbc5173f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a8282433-4606-4814-b8b6-675c1c7e29a7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.2898102} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.508377,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6b2f0455-174c-491b-9911-1faadbc5173f","object_type":"device","rebac_allow":false,"scope_allow":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":"80ce5630-0d22-11ef-9118-35435c36490d"},"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/6b2f0455-174c-491b-9911-1faadbc5173f/signaling 200 12ms","method":"POST","requestID":"80ce5630-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/6b2f0455-174c-491b-9911-1faadbc5173f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"} gateway-1 | {"time_local":"08/May/2024:10:05:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"23e891e59fbbe502264390da992744b2"} experiment-1 | {"level":"info","message":"DELETE /experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b 204 132ms","method":"DELETE","requestID":"23e891e59fbbe502264390da992744b2","responseTime":132,"status":204,"url":"/experiments/cf826503-838f-42e4-beaf-ecd0398bdd1b"} gateway-1 | {"time_local":"08/May/2024:10:05:31 +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.060","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a1d7dc0fae9ca91b54bd0087bded4b56"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 104ms","method":"POST","requestID":"fcfc88a934b372dc535d50ca2e2282a8","responseTime":104,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05: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.109","http_referrer":"","http_user_agent":"node-fetch","requestID":"fcfc88a934b372dc535d50ca2e2282a8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 105ms","method":"POST","requestID":"294d5a144c5f891082078bf960e9e9ae","responseTime":105,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMX0.Z4DVoXuwdfIve5_90NZ8VJi9QYxnvALYiKbHFwhA-jE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d3b391334e268d803724d5a5b1c48d31","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/May/2024:10:05: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.114","http_referrer":"","http_user_agent":"node-fetch","requestID":"294d5a144c5f891082078bf960e9e9ae"} gateway-1 | {"time_local":"08/May/2024:10:05:31 +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.687","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8262ec19e7d8dc5c52d9f615b98402b7"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.118866,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162731,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMX0.Z4DVoXuwdfIve5_90NZ8VJi9QYxnvALYiKbHFwhA-jE"} 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":"d3b391334e268d803724d5a5b1c48d31"},"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/6b2f0455-174c-491b-9911-1faadbc5173f' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"eb738b08-abb3-4066-b1e3-9d594eb003c4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.3640978} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d3b391334e268d803724d5a5b1c48d31"},"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/59e373c8-7f71-4eae-94e3-33bdf6d55fae' 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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de6d3194-e4dc-48ad-abec-29ff5f15ecb1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.3700197} 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":"d3b391334e268d803724d5a5b1c48d31"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"80b41e6e-0290-40cc-b44b-f9d540490639","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.379878} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f5acf683-429e-4264-8a33-599d516dd46a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.3800738} 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":"d3b391334e268d803724d5a5b1c48d31"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:31.379862273Z"}]},"request_id":"eda615f9-77ad-4a01-b743-9387593bc7c4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.3858976} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d3b391334e268d803724d5a5b1c48d31"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d3b391334e268d803724d5a5b1c48d31"} device-1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"d3b391334e268d803724d5a5b1c48d31","responseTime":46,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMX0.Z4DVoXuwdfIve5_90NZ8VJi9QYxnvALYiKbHFwhA-jE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"58b760676269a50757277fe75555fba2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.829392,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162731,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMX0.Z4DVoXuwdfIve5_90NZ8VJi9QYxnvALYiKbHFwhA-jE"} 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":"58b760676269a50757277fe75555fba2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8ee1ea2b-3be6-4721-b297-6982e3a760f6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.411791} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58b760676269a50757277fe75555fba2"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"472b2b46-66f2-4f3a-950d-3ef7af3bd148","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.4186604} 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":"58b760676269a50757277fe75555fba2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"86494ad9-b3b1-4501-b831-f89ca0113718","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.4320278} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"92946f0f-7bb4-4d7d-9362-14cb7b889287","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.4321907} 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":"58b760676269a50757277fe75555fba2"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:31.432006367Z"}]},"request_id":"ae0da5d8-198b-4eb6-9835-55d74646e14f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.4368272} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58b760676269a50757277fe75555fba2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"58b760676269a50757277fe75555fba2"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"58b760676269a50757277fe75555fba2","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMX0.Z4DVoXuwdfIve5_90NZ8VJi9QYxnvALYiKbHFwhA-jE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9a400e5b0ca8210cc517b68a872f98fd","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMX0.Z4DVoXuwdfIve5_90NZ8VJi9QYxnvALYiKbHFwhA-jE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a9a0d8233fbbf9d6d661e59da3029953","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:52962","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.847499,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162731,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMX0.Z4DVoXuwdfIve5_90NZ8VJi9QYxnvALYiKbHFwhA-jE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a400e5b0ca8210cc517b68a872f98fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.923228,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162731,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMX0.Z4DVoXuwdfIve5_90NZ8VJi9QYxnvALYiKbHFwhA-jE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a9a0d8233fbbf9d6d661e59da3029953"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:31.379862273Z"}]},"request_id":"8006e4cc-60fc-48f6-9162-96766c3ff337","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.9656508} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a400e5b0ca8210cc517b68a872f98fd"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:31.432006367Z"}]},"request_id":"92bed8cf-cb1d-4647-a282-b6064c631026","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.967045} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a9a0d8233fbbf9d6d661e59da3029953"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b84bd3d2-94f5-4ec0-b99a-bc1c659eb234","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.97403} 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":"9a400e5b0ca8210cc517b68a872f98fd"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5594d48d-3a8f-4674-99f8-f81c07729731","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.9759858} 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":"a9a0d8233fbbf9d6d661e59da3029953"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:31.432006367Z"}]},"request_id":"2fc7ffa3-e2d2-4da4-b635-182618173367","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162731.9808774} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a9a0d8233fbbf9d6d661e59da3029953"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9761d361-bd5f-469c-b201-62510d928a63 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.037","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a9a0d8233fbbf9d6d661e59da3029953"} device-1 | {"level":"info","message":"PATCH /devices/9761d361-bd5f-469c-b201-62510d928a63 200 28ms","method":"PATCH","requestID":"a9a0d8233fbbf9d6d661e59da3029953","responseTime":28,"status":200,"url":"/devices/9761d361-bd5f-469c-b201-62510d928a63"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMX0.Z4DVoXuwdfIve5_90NZ8VJi9QYxnvALYiKbHFwhA-jE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a5babd7361a446e2f928a7726368d67e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662989,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162731,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMX0.Z4DVoXuwdfIve5_90NZ8VJi9QYxnvALYiKbHFwhA-jE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a5babd7361a446e2f928a7726368d67e"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:31.379862273Z"}]},"request_id":"c19fc980-eae6-48ea-a4a3-4ff30a0f9045","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162732.0097337} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a400e5b0ca8210cc517b68a872f98fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c249bfbc-9878-46bc-9092-67569ac7ffc6 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.066","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9a400e5b0ca8210cc517b68a872f98fd"} device-1 | {"level":"info","message":"PATCH /devices/c249bfbc-9878-46bc-9092-67569ac7ffc6 200 59ms","method":"PATCH","requestID":"9a400e5b0ca8210cc517b68a872f98fd","responseTime":59,"status":200,"url":"/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMn0.v2GqOns1XBHq4EVV5-DxUyJoRmTyDQbNaARslqZ6ZyA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b08a72853e5e8c48d5ef3cb80c623697","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9761d361-bd5f-469c-b201-62510d928a63/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.035","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a5babd7361a446e2f928a7726368d67e"} device-1 | {"level":"info","message":"POST /devices/9761d361-bd5f-469c-b201-62510d928a63/websocket 200 31ms","method":"POST","requestID":"a5babd7361a446e2f928a7726368d67e","responseTime":31,"status":200,"url":"/devices/9761d361-bd5f-469c-b201-62510d928a63/websocket"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.818157,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162732,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMn0.v2GqOns1XBHq4EVV5-DxUyJoRmTyDQbNaARslqZ6ZyA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b08a72853e5e8c48d5ef3cb80c623697"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c249bfbc-9878-46bc-9092-67569ac7ffc6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.014","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b08a72853e5e8c48d5ef3cb80c623697"} device-1 | {"level":"info","message":"POST /devices/c249bfbc-9878-46bc-9092-67569ac7ffc6/websocket 200 10ms","method":"POST","requestID":"b08a72853e5e8c48d5ef3cb80c623697","responseTime":10,"status":200,"url":"/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMn0.v2GqOns1XBHq4EVV5-DxUyJoRmTyDQbNaARslqZ6ZyA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"edc139f3d066df5915b394b931027ebb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.675277,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162732,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMn0.v2GqOns1XBHq4EVV5-DxUyJoRmTyDQbNaARslqZ6ZyA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edc139f3d066df5915b394b931027ebb"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:31.379862273Z"}]},"request_id":"7ecb481a-3935-4772-92cf-11d3d57caeb5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162732.0531816} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edc139f3d066df5915b394b931027ebb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c249bfbc-9878-46bc-9092-67569ac7ffc6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"edc139f3d066df5915b394b931027ebb"} device-1 | {"level":"info","message":"GET /devices/c249bfbc-9878-46bc-9092-67569ac7ffc6? 200 12ms","method":"GET","requestID":"edc139f3d066df5915b394b931027ebb","responseTime":12,"status":200,"url":"/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMn0.v2GqOns1XBHq4EVV5-DxUyJoRmTyDQbNaARslqZ6ZyA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3e90050ddcee14d14e092cc1e5a09633","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.715914,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162732,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMn0.v2GqOns1XBHq4EVV5-DxUyJoRmTyDQbNaARslqZ6ZyA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e90050ddcee14d14e092cc1e5a09633"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:31.432006367Z"}]},"request_id":"6fcce4d7-0ae2-44c2-9409-5058a87c78f1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162732.069654} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e90050ddcee14d14e092cc1e5a09633"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9761d361-bd5f-469c-b201-62510d928a63? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3e90050ddcee14d14e092cc1e5a09633"} device-1 | {"level":"info","message":"GET /devices/9761d361-bd5f-469c-b201-62510d928a63? 200 12ms","method":"GET","requestID":"3e90050ddcee14d14e092cc1e5a09633","responseTime":12,"status":200,"url":"/devices/9761d361-bd5f-469c-b201-62510d928a63?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMn0.v2GqOns1XBHq4EVV5-DxUyJoRmTyDQbNaARslqZ6ZyA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"857d0d27290b130aa68850981330267a","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:52962","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.904467,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162732,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMn0.v2GqOns1XBHq4EVV5-DxUyJoRmTyDQbNaARslqZ6ZyA"} 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":"857d0d27290b130aa68850981330267a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"},"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:52962","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.944344,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162732,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMn0.v2GqOns1XBHq4EVV5-DxUyJoRmTyDQbNaARslqZ6ZyA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"814ed0d0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.815026,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162732,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMn0.v2GqOns1XBHq4EVV5-DxUyJoRmTyDQbNaARslqZ6ZyA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"814ef7e0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:31.379862273Z"}]},"request_id":"307c18a1-9268-419f-b35e-8067fe8cfcbc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162732.1343107} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"814ed0d0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:31.432006367Z"}]},"request_id":"2b8e80b6-4675-49a6-95b9-68dcd16e2058","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162732.135012} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"814ef7e0-0d22-11ef-9118-35435c36490d"},"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/c249bfbc-9878-46bc-9092-67569ac7ffc6? 200 15ms","method":"GET","requestID":"814ed0d0-0d22-11ef-9118-35435c36490d","responseTime":15,"status":200,"url":"/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/9761d361-bd5f-469c-b201-62510d928a63? 200 15ms","method":"GET","requestID":"814ef7e0-0d22-11ef-9118-35435c36490d","responseTime":15,"status":200,"url":"/devices/9761d361-bd5f-469c-b201-62510d928a63?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"},"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/3b22b03a-7759-438b-9910-e23fd3c6e809"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.140384,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162732,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMn0.v2GqOns1XBHq4EVV5-DxUyJoRmTyDQbNaARslqZ6ZyA"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81570e30-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.007673,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162732,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMn0.v2GqOns1XBHq4EVV5-DxUyJoRmTyDQbNaARslqZ6ZyA"} 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":"81575c50-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:55014","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:31.379862273Z"}]},"request_id":"b85dc089-132c-452c-9742-b0a4d05bd7b8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162732.1929317} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81570e30-0d22-11ef-9118-35435c36490d"},"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:55014","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.874012,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:31.432006367Z"}]},"request_id":"cb2e39f2-b4e0-4740-b994-8d7c759476b2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162732.1947293} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a62682b2-2387-45f7-9305-44bfbdf2a02b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162732.1949766} 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":"81575c50-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","object_type":"device","rebac_allow":false,"scope_allow":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":"8157aa70-0d22-11ef-9118-35435c36490d"},"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/c249bfbc-9878-46bc-9092-67569ac7ffc6? 200 23ms","method":"GET","requestID":"81570e30-0d22-11ef-9118-35435c36490d","responseTime":23,"status":200,"url":"/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3b22b03a-7759-438b-9910-e23fd3c6e809#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3b22b03a-7759-438b-9910-e23fd3c6e809","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"a7560c27-39a2-48e2-b8b8-08f39a96e74d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162732.2019873} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c01ff5e4-a561-49d4-ba29-fa61d10125ce","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162732.2023144} 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":"857d0d27290b130aa68850981330267a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"GET /devices/9761d361-bd5f-469c-b201-62510d928a63? 200 24ms","method":"GET","requestID":"81575c50-0d22-11ef-9118-35435c36490d","responseTime":24,"status":200,"url":"/devices/9761d361-bd5f-469c-b201-62510d928a63?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c249bfbc-9878-46bc-9092-67569ac7ffc6/signaling 200 23ms","method":"POST","requestID":"8157aa70-0d22-11ef-9118-35435c36490d","responseTime":23,"status":200,"url":"/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:32Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/May/2024:10:05:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.139","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"857d0d27290b130aa68850981330267a"} experiment-1 | {"level":"info","message":"POST /experiments? 201 136ms","method":"POST","requestID":"857d0d27290b130aa68850981330267a","responseTime":136,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb3b3c8a-c7cf-44ae-a8ae-f57598491a4e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162732.2157712} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b3248bea-2de5-48eb-be67-991657d068ea","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162732.216517} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.658702,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","object_type":"device","rebac_allow":false,"scope_allow":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":"815ba210-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.826248,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMn0.v2GqOns1XBHq4EVV5-DxUyJoRmTyDQbNaARslqZ6ZyA","level":"info","message":"auth send jwt"} 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":"815bf030-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c44f3943b4a99951ddd888a6fa00f5e5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c249bfbc-9878-46bc-9092-67569ac7ffc6/signaling 200 13ms","method":"POST","requestID":"815ba210-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/9761d361-bd5f-469c-b201-62510d928a63/signaling 200 16ms","method":"POST","requestID":"815bf030-0d22-11ef-9118-35435c36490d","responseTime":16,"status":200,"url":"/devices/9761d361-bd5f-469c-b201-62510d928a63/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.858249,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162732,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMn0.v2GqOns1XBHq4EVV5-DxUyJoRmTyDQbNaARslqZ6ZyA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c44f3943b4a99951ddd888a6fa00f5e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f55cdfb7-992e-4e07-a39f-60288a02be25","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162732.2301927} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.506545,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","object_type":"device","rebac_allow":false,"scope_allow":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":"815e1310-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:31.379862273Z"}]},"request_id":"dfe66740-5536-4627-86c6-190f89897b15","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162732.2345443} device-1 | {"level":"info","message":"POST /devices/9761d361-bd5f-469c-b201-62510d928a63/signaling 200 10ms","method":"POST","requestID":"815e1310-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/9761d361-bd5f-469c-b201-62510d928a63/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":"c44f3943b4a99951ddd888a6fa00f5e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"e38e6dcf-6471-411a-a21f-d813a0225ccc"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"0344efa6-0c98-4ed5-9372-958c3980a6b9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c09962af-9ab6-40b6-bb25-e3b1eb58a53d"}]},"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/9761d361-bd5f-469c-b201-62510d928a63"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c249bfbc-9878-46bc-9092-67569ac7ffc6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c44f3943b4a99951ddd888a6fa00f5e5"} device-1 | {"level":"info","message":"GET /devices/c249bfbc-9878-46bc-9092-67569ac7ffc6? 200 17ms","method":"GET","requestID":"c44f3943b4a99951ddd888a6fa00f5e5","responseTime":17,"status":200,"url":"/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6?"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.89809,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162732,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMn0.v2GqOns1XBHq4EVV5-DxUyJoRmTyDQbNaARslqZ6ZyA"} 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":"81600ee0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMn0.v2GqOns1XBHq4EVV5-DxUyJoRmTyDQbNaARslqZ6ZyA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bce6006baad15ef6feea56f092f7d286","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.831271,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162732,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczMn0.v2GqOns1XBHq4EVV5-DxUyJoRmTyDQbNaARslqZ6ZyA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bce6006baad15ef6feea56f092f7d286"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"9d04cec5-5bff-4c78-8474-48dfcf768a03","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162732.2542255} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"18354cfc-0c1a-475f-b1e0-2e09c1375030","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162732.2543445} 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":"81600ee0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:31.432006367Z"}]},"request_id":"19c15d49-80b0-4ef1-9d8c-44ea26a0bfd9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162732.2552035} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bce6006baad15ef6feea56f092f7d286"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9761d361-bd5f-469c-b201-62510d928a63? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bce6006baad15ef6feea56f092f7d286"} device-1 | {"level":"info","message":"GET /devices/9761d361-bd5f-469c-b201-62510d928a63? 200 25ms","method":"GET","requestID":"bce6006baad15ef6feea56f092f7d286","responseTime":25,"status":200,"url":"/devices/9761d361-bd5f-469c-b201-62510d928a63?"} 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/d86f80ca-797d-447a-9ae5-1f766d235ce0'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d86f80ca-797d-447a-9ae5-1f766d235ce0'"} 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":"81600ee0-0d22-11ef-9118-35435c36490d","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/3b22b03a-7759-438b-9910-e23fd3c6e809"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d9c585a-1fb9-4847-8c19-9768ccfbbefa","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162732.3054624} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.487098,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8169abd0-0d22-11ef-9118-35435c36490d"},"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/c249bfbc-9878-46bc-9092-67569ac7ffc6/signaling 200 9ms","method":"POST","requestID":"8169abd0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9513db55-7730-4e24-aa75-5b5850b75359","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162732.3159804} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.213327,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","object_type":"device","rebac_allow":false,"scope_allow":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":"816b3270-0d22-11ef-9118-35435c36490d"},"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/9761d361-bd5f-469c-b201-62510d928a63/signaling 200 9ms","method":"POST","requestID":"816b3270-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/9761d361-bd5f-469c-b201-62510d928a63/signaling"} device-1 | {"data":{"peerconnection":"d86f80ca-797d-447a-9ae5-1f766d235ce0","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"d86f80ca-797d-447a-9ae5-1f766d235ce0","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/d86f80ca-797d-447a-9ae5-1f766d235ce0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d86f80ca-797d-447a-9ae5-1f766d235ce0","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":"87059ac501f61075a31e3c17c16705ff","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/9761d361-bd5f-469c-b201-62510d928a63"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d86f80ca-797d-447a-9ae5-1f766d235ce0"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"87059ac501f61075a31e3c17c16705ff","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"87059ac501f61075a31e3c17c16705ff"} device-1 | {"data":{"peerconnection":"d86f80ca-797d-447a-9ae5-1f766d235ce0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"d86f80ca-797d-447a-9ae5-1f766d235ce0","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/d86f80ca-797d-447a-9ae5-1f766d235ce0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d86f80ca-797d-447a-9ae5-1f766d235ce0","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":"5754d11e7d371995965c6f656ec7e2a1","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d86f80ca-797d-447a-9ae5-1f766d235ce0"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd86f80ca-797d-447a-9ae5-1f766d235ce0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"648904f1-ffec-4ac2-b8d6-2a211f9dcda6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.3730016} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.201741,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d86f80ca-797d-447a-9ae5-1f766d235ce0","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d86f80ca-797d-447a-9ae5-1f766d235ce0","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":"82a51200-0d22-11ef-9118-35435c36490d"},"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/d86f80ca-797d-447a-9ae5-1f766d235ce0 200 10ms","method":"GET","requestID":"82a51200-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/peerconnections/d86f80ca-797d-447a-9ae5-1f766d235ce0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"5754d11e7d371995965c6f656ec7e2a1","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch","requestID":"5754d11e7d371995965c6f656ec7e2a1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"688e59e5-fdaa-48f7-853f-25c83f9078c6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.4017274} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.304098,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82a97ed0-0d22-11ef-9118-35435c36490d"},"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/9761d361-bd5f-469c-b201-62510d928a63/signaling 200 9ms","method":"POST","requestID":"82a97ed0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/9761d361-bd5f-469c-b201-62510d928a63/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4863596e-dc48-4143-ae45-39b43725a345","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.413581} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.874913,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82ab2c80-0d22-11ef-9118-35435c36490d"},"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/c249bfbc-9878-46bc-9092-67569ac7ffc6/signaling 200 10ms","method":"POST","requestID":"82ab2c80-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6f02851610c3f4a43d86a0d37e457983","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.6529,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162734,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM"} 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":"6f02851610c3f4a43d86a0d37e457983"},"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/3b22b03a-7759-438b-9910-e23fd3c6e809"} gateway-1 | {"time_local":"08/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3b22b03a-7759-438b-9910-e23fd3c6e809 HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6f02851610c3f4a43d86a0d37e457983"} experiment-1 | {"level":"info","message":"GET /experiments/3b22b03a-7759-438b-9910-e23fd3c6e809 200 10ms","method":"GET","requestID":"6f02851610c3f4a43d86a0d37e457983","responseTime":10,"status":200,"url":"/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f9265c52bad805c828a44d9295b9a9d3","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.800153,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162734,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM"} 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":"f9265c52bad805c828a44d9295b9a9d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.976617,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d86f80ca-797d-447a-9ae5-1f766d235ce0","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/d86f80ca-797d-447a-9ae5-1f766d235ce0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162734,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM"} 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":"82b65010-0d22-11ef-9118-35435c36490d"},"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/d86f80ca-797d-447a-9ae5-1f766d235ce0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d86f80ca-797d-447a-9ae5-1f766d235ce0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d86f80ca-797d-447a-9ae5-1f766d235ce0","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd86f80ca-797d-447a-9ae5-1f766d235ce0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd86f80ca-797d-447a-9ae5-1f766d235ce0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"56cc854a-7585-4fb7-99c7-3958734fd761","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.497389} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6274ee9b879825b34d7ca73f433d3b74","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 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"597d202c-d6c3-48b8-b002-77a04d49e8b7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.4977593} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eb6873d90f4586353edab4a0ca0e973c","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/9761d361-bd5f-469c-b201-62510d928a63"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d86f80ca-797d-447a-9ae5-1f766d235ce0"}}},"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":"82b65010-0d22-11ef-9118-35435c36490d"},"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":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d86f80ca-797d-447a-9ae5-1f766d235ce0"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"d86f80ca-797d-447a-9ae5-1f766d235ce0","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/d86f80ca-797d-447a-9ae5-1f766d235ce0 204 32ms","method":"DELETE","requestID":"82b65010-0d22-11ef-9118-35435c36490d","responseTime":32,"status":204,"url":"/peerconnections/d86f80ca-797d-447a-9ae5-1f766d235ce0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9761d361-bd5f-469c-b201-62510d928a63","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b6c23b72-632d-4b60-a054-e01e50a829a6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.5363693} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.253986,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82bdf130-0d22-11ef-9118-35435c36490d"},"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/9761d361-bd5f-469c-b201-62510d928a63/signaling 200 10ms","method":"POST","requestID":"82bdf130-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/9761d361-bd5f-469c-b201-62510d928a63/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3b22b03a-7759-438b-9910-e23fd3c6e809': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3b22b03a-7759-438b-9910-e23fd3c6e809","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"05e90ed1-7e31-4571-a045-1df4719620f4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.5454285} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20292a38-f7a7-496c-968c-8a20471d0322","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.5457625} 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":"f9265c52bad805c828a44d9295b9a9d3"},"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:52962","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc249bfbc-9878-46bc-9092-67569ac7ffc6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"383ccc79-6c7d-4d19-b5d4-4f142379eb4c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.550446} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.347758,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82bfed00-0d22-11ef-9118-35435c36490d"},"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/c249bfbc-9878-46bc-9092-67569ac7ffc6/signaling 200 11ms","method":"POST","requestID":"82bfed00-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"} gateway-1 | {"time_local":"08/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3b22b03a-7759-438b-9910-e23fd3c6e809 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.132","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f9265c52bad805c828a44d9295b9a9d3"} gateway-1 | {"time_local":"08/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.569","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a431b55dc2bf41260067960712da77ee"} experiment-1 | {"level":"info","message":"DELETE /experiments/3b22b03a-7759-438b-9910-e23fd3c6e809 204 130ms","method":"DELETE","requestID":"f9265c52bad805c828a44d9295b9a9d3","responseTime":130,"status":204,"url":"/experiments/3b22b03a-7759-438b-9910-e23fd3c6e809"} gateway-1 | {"time_local":"08/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2506","request_time":"2.578","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5394ce6cab004543b00e868b25f733f7"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c249bfbc-9878-46bc-9092-67569ac7ffc6' closed"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8d553940abe28d50340a1d0ea7d9b43a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:34Z"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 129ms","method":"POST","requestID":"6274ee9b879825b34d7ca73f433d3b74","responseTime":129,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":3.385907,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:34Z"} gateway-1 | {"time_local":"08/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"6274ee9b879825b34d7ca73f433d3b74"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162734,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9761d361-bd5f-469c-b201-62510d928a63' closed"} 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":"8d553940abe28d50340a1d0ea7d9b43a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"eb6873d90f4586353edab4a0ca0e973c","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"eb6873d90f4586353edab4a0ca0e973c"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04a820ff-5243-466e-8ecd-7ab242a51292","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2c5bcd9f-d94e-4878-b760-c7caf593c536","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.6475246} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d553940abe28d50340a1d0ea7d9b43a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98df8841-9885-413a-8c9b-8d5f12535df5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.6542459} 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":"8d553940abe28d50340a1d0ea7d9b43a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04a820ff-5243-466e-8ecd-7ab242a51292","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"0afd48ee-9f06-4a74-a433-bf38350cbe7a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.6679313} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"644b2f73-72ca-4d46-a68c-3244ce44ae69","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.6682622} 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":"8d553940abe28d50340a1d0ea7d9b43a"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04a820ff-5243-466e-8ecd-7ab242a51292","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F04a820ff-5243-466e-8ecd-7ab242a51292","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:34.667913858Z"}]},"request_id":"50d9315c-7f3a-49f8-b5a4-b1afd3152f2f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.6744792} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d553940abe28d50340a1d0ea7d9b43a"},"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 56ms","method":"POST","requestID":"8d553940abe28d50340a1d0ea7d9b43a","responseTime":56,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8d553940abe28d50340a1d0ea7d9b43a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"75d45db0f133e055ec5b941c9d0f5ecb","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.973351,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162734,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM"} 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":"75d45db0f133e055ec5b941c9d0f5ecb"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a9ec01f-0eeb-44bd-95a6-c216c719eaf7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b52fef4d-1493-4612-b1e1-09a83aad29a7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.7081642} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75d45db0f133e055ec5b941c9d0f5ecb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"207f1e91-3896-4f53-aa4f-8f311af9a16f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.715409} 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":"75d45db0f133e055ec5b941c9d0f5ecb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a9ec01f-0eeb-44bd-95a6-c216c719eaf7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"3c04750d-961f-41d6-932f-dc148523294f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.725641} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39fc8284-6f20-42fb-8d29-6a9d6e7714a9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.725875} 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":"75d45db0f133e055ec5b941c9d0f5ecb"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a9ec01f-0eeb-44bd-95a6-c216c719eaf7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a9ec01f-0eeb-44bd-95a6-c216c719eaf7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:34.725623410Z"}]},"request_id":"66a75850-fe1b-42de-af7f-b15676a8f804","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.732461} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75d45db0f133e055ec5b941c9d0f5ecb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"75d45db0f133e055ec5b941c9d0f5ecb"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"75d45db0f133e055ec5b941c9d0f5ecb","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"715ee49dd70d376ff7e54bd328fe24b3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.680084,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162734,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM"} 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":"715ee49dd70d376ff7e54bd328fe24b3"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1c3b3ef-e601-41ef-b00c-3d3c94b44df5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"de58c924-cbd1-41a8-bbaa-1cb6ba85b5fb","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.7554102} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"715ee49dd70d376ff7e54bd328fe24b3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"15f9f861-af38-4101-ba6a-218c7724b7a8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.7599523} 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":"715ee49dd70d376ff7e54bd328fe24b3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1c3b3ef-e601-41ef-b00c-3d3c94b44df5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"db3d9e09-500f-4d54-9aaa-9534f8c7df00","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.7718108} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"32234172-13fc-4edb-875b-807c4d142106","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.77201} 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":"715ee49dd70d376ff7e54bd328fe24b3"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1c3b3ef-e601-41ef-b00c-3d3c94b44df5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff1c3b3ef-e601-41ef-b00c-3d3c94b44df5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:34.771796531Z"}]},"request_id":"6511e45a-e2b5-43de-b2e2-06961816f9d6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.77615} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"715ee49dd70d376ff7e54bd328fe24b3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"715ee49dd70d376ff7e54bd328fe24b3"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"715ee49dd70d376ff7e54bd328fe24b3","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d67d7f307459ecd11320e314f13b98e0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.684297,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162734,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM"} 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":"d67d7f307459ecd11320e314f13b98e0"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f833163-6898-4c28-9b55-f184c9935ff3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"50457f03-b9d6-432b-a9cb-97e63a81b9e4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.8019047} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d67d7f307459ecd11320e314f13b98e0"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"360ecba9-d2b8-4019-a3c2-a11a3742dcaa","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.80636} 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":"d67d7f307459ecd11320e314f13b98e0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f833163-6898-4c28-9b55-f184c9935ff3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"ace0cf2b-55dc-4ca7-9939-958b90be3562","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.8156629} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4d57cba-03d6-4cee-a4d7-7012e95c0b42","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.8159056} 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":"d67d7f307459ecd11320e314f13b98e0"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f833163-6898-4c28-9b55-f184c9935ff3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9f833163-6898-4c28-9b55-f184c9935ff3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:34.815645728Z"}]},"request_id":"19ffc551-b271-4921-900e-fd844326647e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.819826} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d67d7f307459ecd11320e314f13b98e0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d67d7f307459ecd11320e314f13b98e0"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"d67d7f307459ecd11320e314f13b98e0","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"280f1265cfb8103dcc75b96928803f3c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.882873,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162734,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM"} 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":"280f1265cfb8103dcc75b96928803f3c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4277823-6b0c-4304-9b4b-2a32d9e91ad6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"03e9115a-7c7e-4dbf-b898-43f331b33b7b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.8526802} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"280f1265cfb8103dcc75b96928803f3c"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3dfc0cf5-d992-4f0e-8eb0-633080cf9d7f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.8581452} 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":"280f1265cfb8103dcc75b96928803f3c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4277823-6b0c-4304-9b4b-2a32d9e91ad6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"d7608767-c4b4-47ff-8433-2082ad2b7c5d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.869511} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"37e597d0-e2db-4472-96c3-456e11dc1619","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.8696678} 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":"280f1265cfb8103dcc75b96928803f3c"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4277823-6b0c-4304-9b4b-2a32d9e91ad6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4277823-6b0c-4304-9b4b-2a32d9e91ad6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:34.869491674Z"}]},"request_id":"e6f290b3-250c-414f-b4f5-cb04ef48661a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.8741345} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"280f1265cfb8103dcc75b96928803f3c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"280f1265cfb8103dcc75b96928803f3c"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"280f1265cfb8103dcc75b96928803f3c","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"225bd8f13dc1b8bf012ff37fe4291ef6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.15924,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162734,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"225bd8f13dc1b8bf012ff37fe4291ef6"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F787513e5-d4e0-4383-a9aa-30096d2ce888","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0f42b2d5-2c6a-454d-be86-8eacf688078b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.908597} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"225bd8f13dc1b8bf012ff37fe4291ef6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aee28c5f-c686-4d33-a981-a4c39f7d30a6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.9133139} 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":"225bd8f13dc1b8bf012ff37fe4291ef6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F787513e5-d4e0-4383-a9aa-30096d2ce888","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"55e1170a-68f3-45d3-8b54-df7aad45e4af","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.9241023} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1891623c-7869-429a-9238-87be09178998","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.924313} 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":"225bd8f13dc1b8bf012ff37fe4291ef6"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F787513e5-d4e0-4383-a9aa-30096d2ce888","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F787513e5-d4e0-4383-a9aa-30096d2ce888","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:34.924084833Z"}]},"request_id":"fb18d203-b8c9-43a6-b935-a3376623f3fc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.9284954} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"225bd8f13dc1b8bf012ff37fe4291ef6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"225bd8f13dc1b8bf012ff37fe4291ef6"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"225bd8f13dc1b8bf012ff37fe4291ef6","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1ff4812414a650bf607de7be19b91909","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.893462,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162734,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM"} 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":"1ff4812414a650bf607de7be19b91909"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d65f5ac-a86e-41bc-8c28-6b9508dbc4f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"83954266-7994-44bd-9826-b26cb92a5f78","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.9526653} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1ff4812414a650bf607de7be19b91909"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3933d571-e3bd-43bd-9b46-81d6d879eca7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.9574964} 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":"1ff4812414a650bf607de7be19b91909"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d65f5ac-a86e-41bc-8c28-6b9508dbc4f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"c1f930d8-656a-4e5b-9ea8-7e08812102e8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.967439} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5663d722-fe4a-4495-b30d-8fbc751891df","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.9677744} 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":"1ff4812414a650bf607de7be19b91909"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d65f5ac-a86e-41bc-8c28-6b9508dbc4f1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3d65f5ac-a86e-41bc-8c28-6b9508dbc4f1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:34.967420802Z"}]},"request_id":"b4f779a2-9c88-4f77-9c71-fa600e037dd1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.9715145} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1ff4812414a650bf607de7be19b91909"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1ff4812414a650bf607de7be19b91909"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"1ff4812414a650bf607de7be19b91909","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"32287ce1f9627a4cc5315530de902744","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.230274,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162734,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNH0.IYkVscFoC353iIcWOQFxd7FuWVlKQoUJNpah0laXlbM"} 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":"32287ce1f9627a4cc5315530de902744"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd028c6a2-6d09-4218-98bd-d835cf2d6d16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"aae32d77-255f-4cd5-8eda-42783e87815a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162734.996876} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32287ce1f9627a4cc5315530de902744"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ffde4013-8844-4df2-981d-d63ae14f32ad","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.0023267} 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":"32287ce1f9627a4cc5315530de902744"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd028c6a2-6d09-4218-98bd-d835cf2d6d16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"b7d6a9f5-75c4-41fb-94ee-449394043e56","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.0100453} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"06457a40-62f4-4528-a092-58d9f54783fc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.0102947} 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":"32287ce1f9627a4cc5315530de902744"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd028c6a2-6d09-4218-98bd-d835cf2d6d16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd028c6a2-6d09-4218-98bd-d835cf2d6d16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.010031033Z"}]},"request_id":"e5ccd92e-0371-4379-bd8a-b1a1ed44e4f4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.0142913} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32287ce1f9627a4cc5315530de902744"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"32287ce1f9627a4cc5315530de902744"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"32287ce1f9627a4cc5315530de902744","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1e35f28e78810a813189e5776a2cb628","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.899664,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"1e35f28e78810a813189e5776a2cb628"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F998c4715-83a8-4f60-b339-84d6bdb4b17c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f8a8f2ee-19d8-4968-bde5-19232a94f2be","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.0395868} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e35f28e78810a813189e5776a2cb628"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d902589-220b-4361-99c1-fec2b05b9600","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.0439458} 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":"1e35f28e78810a813189e5776a2cb628"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F998c4715-83a8-4f60-b339-84d6bdb4b17c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"a2d091d2-5ab5-4a27-88b6-824c6485070f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.0547392} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7700ce34-5370-4507-93a4-e25902f31453","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.0549867} 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":"1e35f28e78810a813189e5776a2cb628"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F998c4715-83a8-4f60-b339-84d6bdb4b17c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F998c4715-83a8-4f60-b339-84d6bdb4b17c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.054721062Z"}]},"request_id":"44619467-cbfa-4694-a133-b78da07c9a5a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.0592134} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e35f28e78810a813189e5776a2cb628"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1e35f28e78810a813189e5776a2cb628"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"1e35f28e78810a813189e5776a2cb628","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2d6f69d43bf6786c0b0fdd38e5f76b99","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.663444,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"2d6f69d43bf6786c0b0fdd38e5f76b99"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52681237-36be-4b45-aee4-07316a1ddb58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"51148a31-d8f2-4de9-959b-e20101651cee","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.0845497} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d6f69d43bf6786c0b0fdd38e5f76b99"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"010e7276-39e0-441d-9d19-23ba79c91fd4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.0892394} 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":"2d6f69d43bf6786c0b0fdd38e5f76b99"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52681237-36be-4b45-aee4-07316a1ddb58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"2dca44ce-ae48-489a-a7f9-075dfb4f2ce5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.0981593} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9e88c799-969f-41be-857e-017e970365cc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.0984726} 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":"2d6f69d43bf6786c0b0fdd38e5f76b99"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52681237-36be-4b45-aee4-07316a1ddb58","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52681237-36be-4b45-aee4-07316a1ddb58","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.098138687Z"}]},"request_id":"649b407e-b749-48e0-bb8b-a5e09652525d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.102527} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d6f69d43bf6786c0b0fdd38e5f76b99"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2d6f69d43bf6786c0b0fdd38e5f76b99"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"2d6f69d43bf6786c0b0fdd38e5f76b99","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"25583de1e86c987436427f214d958809","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.693022,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"25583de1e86c987436427f214d958809"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe813c7c7-4898-4f5d-85c1-52e9930669b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"93da06af-ed0e-4a78-89a6-9a3e09f35f80","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.131833} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25583de1e86c987436427f214d958809"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e673b95f-72c0-400b-847a-14f5c56513fb","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.1367693} 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":"25583de1e86c987436427f214d958809"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe813c7c7-4898-4f5d-85c1-52e9930669b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"54b02e70-7473-49e5-8785-ad878e29fb61","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.1466482} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a925cdb-e2d1-462c-9b57-f130763b82a1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.1469245} 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":"25583de1e86c987436427f214d958809"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe813c7c7-4898-4f5d-85c1-52e9930669b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe813c7c7-4898-4f5d-85c1-52e9930669b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.146627810Z"}]},"request_id":"6ec228e6-da3d-4d56-bf4e-cac5e14133bd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.1513104} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"25583de1e86c987436427f214d958809"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"25583de1e86c987436427f214d958809"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"25583de1e86c987436427f214d958809","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fbff55f60e8f966639bb7155a032d8c3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.663353,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"fbff55f60e8f966639bb7155a032d8c3"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7fdc681-e6d1-47c1-b128-91c05f5d0abe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f7977a3b-c30f-4896-96ff-7e6f734dc31c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.1775265} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbff55f60e8f966639bb7155a032d8c3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9cae659-9402-4b84-b9c0-d026b7707745","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.1835928} 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":"fbff55f60e8f966639bb7155a032d8c3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7fdc681-e6d1-47c1-b128-91c05f5d0abe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"7840086e-85be-4eb4-a619-fea93bb0aaa2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.194792} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3848997b-f096-48a2-81c7-9a951074b7cc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.194884} 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":"fbff55f60e8f966639bb7155a032d8c3"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7fdc681-e6d1-47c1-b128-91c05f5d0abe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7fdc681-e6d1-47c1-b128-91c05f5d0abe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.194776940Z"}]},"request_id":"2aaea235-6883-40ce-ab44-2cf9866c87e4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.1992414} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fbff55f60e8f966639bb7155a032d8c3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fbff55f60e8f966639bb7155a032d8c3"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"fbff55f60e8f966639bb7155a032d8c3","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4bb42c8b68dd14c5c67d94f78335d948","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.685732,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"4bb42c8b68dd14c5c67d94f78335d948"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bab07d-6e11-44b0-aeba-69340b30019a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"662dec8c-1867-461b-a208-3b7ea2af7932","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.2254505} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bb42c8b68dd14c5c67d94f78335d948"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b4f779c8-1d4c-4320-b9e7-8dfcfa07d911","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.2315238} 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":"4bb42c8b68dd14c5c67d94f78335d948"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bab07d-6e11-44b0-aeba-69340b30019a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"4e70cceb-7454-4321-a1f6-c5fc75883207","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.2424073} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb8b6fc0-d788-458f-a025-bb172d08e147","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.2427084} 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":"4bb42c8b68dd14c5c67d94f78335d948"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bab07d-6e11-44b0-aeba-69340b30019a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bab07d-6e11-44b0-aeba-69340b30019a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.242388532Z"}]},"request_id":"adb2ed04-ed5c-4942-815f-3ff94b29e867","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.2478619} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bb42c8b68dd14c5c67d94f78335d948"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"4bb42c8b68dd14c5c67d94f78335d948","responseTime":45,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/May/2024:10:05:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4bb42c8b68dd14c5c67d94f78335d948"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"402fa87d79dad7db7af4da17ae16bc39","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.72304,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e813c7c7-4898-4f5d-85c1-52e9930669b9","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e813c7c7-4898-4f5d-85c1-52e9930669b9","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"402fa87d79dad7db7af4da17ae16bc39"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe813c7c7-4898-4f5d-85c1-52e9930669b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe813c7c7-4898-4f5d-85c1-52e9930669b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.146627810Z"}]},"request_id":"b66bbd87-9199-4887-b256-0c50abaca25f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.2689219} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"402fa87d79dad7db7af4da17ae16bc39"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fbf8e028-df78-4859-af31-c0e78b4b840f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.2739878} 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":"402fa87d79dad7db7af4da17ae16bc39"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe813c7c7-4898-4f5d-85c1-52e9930669b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe813c7c7-4898-4f5d-85c1-52e9930669b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.146627810Z"}]},"request_id":"223a7e4e-1fd4-482e-a487-015721a877ba","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.2840443} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"402fa87d79dad7db7af4da17ae16bc39"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e813c7c7-4898-4f5d-85c1-52e9930669b9? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"402fa87d79dad7db7af4da17ae16bc39"} device-1 | {"level":"info","message":"PATCH /devices/e813c7c7-4898-4f5d-85c1-52e9930669b9? 200 27ms","method":"PATCH","requestID":"402fa87d79dad7db7af4da17ae16bc39","responseTime":27,"status":200,"url":"/devices/e813c7c7-4898-4f5d-85c1-52e9930669b9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"64c97a476d6a5f53dfcfe273954315f8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.896052,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7fdc681-e6d1-47c1-b128-91c05f5d0abe","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/c7fdc681-e6d1-47c1-b128-91c05f5d0abe","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64c97a476d6a5f53dfcfe273954315f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7fdc681-e6d1-47c1-b128-91c05f5d0abe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7fdc681-e6d1-47c1-b128-91c05f5d0abe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.194776940Z"}]},"request_id":"8ec8e915-3562-4eb2-aa38-ff04d31866e5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.3024952} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64c97a476d6a5f53dfcfe273954315f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07760866-f162-4d0c-8283-ed2ecd9c6523","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.3079553} 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":"64c97a476d6a5f53dfcfe273954315f8"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7fdc681-e6d1-47c1-b128-91c05f5d0abe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7fdc681-e6d1-47c1-b128-91c05f5d0abe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.194776940Z"}]},"request_id":"bb27b40b-8d28-4bdf-866b-7a427077f24d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.320008} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64c97a476d6a5f53dfcfe273954315f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c7fdc681-e6d1-47c1-b128-91c05f5d0abe? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"64c97a476d6a5f53dfcfe273954315f8"} device-1 | {"level":"info","message":"PATCH /devices/c7fdc681-e6d1-47c1-b128-91c05f5d0abe? 200 30ms","method":"PATCH","requestID":"64c97a476d6a5f53dfcfe273954315f8","responseTime":30,"status":200,"url":"/devices/c7fdc681-e6d1-47c1-b128-91c05f5d0abe?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f420d30f95ebc4d858f442a0770dcf6d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.742355,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/08bab07d-6e11-44b0-aeba-69340b30019a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/08bab07d-6e11-44b0-aeba-69340b30019a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f420d30f95ebc4d858f442a0770dcf6d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bab07d-6e11-44b0-aeba-69340b30019a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bab07d-6e11-44b0-aeba-69340b30019a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.242388532Z"}]},"request_id":"90c257ea-7b87-4377-8bad-e8e9e1118927","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.338051} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f420d30f95ebc4d858f442a0770dcf6d"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aac64d57-7d4a-4f1a-9ef9-a08b2058ed92","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.3436432} 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":"f420d30f95ebc4d858f442a0770dcf6d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bab07d-6e11-44b0-aeba-69340b30019a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bab07d-6e11-44b0-aeba-69340b30019a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.242388532Z"}]},"request_id":"050ac822-aeaa-43e7-8c22-f386286b2398","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.3594093} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f420d30f95ebc4d858f442a0770dcf6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/08bab07d-6e11-44b0-aeba-69340b30019a? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f420d30f95ebc4d858f442a0770dcf6d"} device-1 | {"level":"info","message":"PATCH /devices/08bab07d-6e11-44b0-aeba-69340b30019a? 200 35ms","method":"PATCH","requestID":"f420d30f95ebc4d858f442a0770dcf6d","responseTime":35,"status":200,"url":"/devices/08bab07d-6e11-44b0-aeba-69340b30019a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1567b00e043087076094909014fa3e86","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.718116,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e813c7c7-4898-4f5d-85c1-52e9930669b9","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e813c7c7-4898-4f5d-85c1-52e9930669b9","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1567b00e043087076094909014fa3e86"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe813c7c7-4898-4f5d-85c1-52e9930669b9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe813c7c7-4898-4f5d-85c1-52e9930669b9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.146627810Z"}]},"request_id":"7308791f-5206-46d2-836e-184361707ac4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.376519} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1567b00e043087076094909014fa3e86"},"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:52962","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.825872,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.64897,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:55014","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:55014","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.545874,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/04a820ff-5243-466e-8ecd-7ab242a51292","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/04a820ff-5243-466e-8ecd-7ab242a51292","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"1567b00e043087076094909014fa3e86"},"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/5a9ec01f-0eeb-44bd-95a6-c216c719eaf7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/5a9ec01f-0eeb-44bd-95a6-c216c719eaf7","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"1567b00e043087076094909014fa3e86"},"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/f1c3b3ef-e601-41ef-b00c-3d3c94b44df5","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/f1c3b3ef-e601-41ef-b00c-3d3c94b44df5","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"1567b00e043087076094909014fa3e86"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:55028","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:55028","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.362865,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7fdc681-e6d1-47c1-b128-91c05f5d0abe","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/c7fdc681-e6d1-47c1-b128-91c05f5d0abe","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"1567b00e043087076094909014fa3e86"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e813c7c7-4898-4f5d-85c1-52e9930669b9? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1567b00e043087076094909014fa3e86"} device-1 | {"level":"info","message":"GET /devices/e813c7c7-4898-4f5d-85c1-52e9930669b9? 200 28ms","method":"GET","requestID":"1567b00e043087076094909014fa3e86","responseTime":28,"status":200,"url":"/devices/e813c7c7-4898-4f5d-85c1-52e9930669b9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"66f91de9e516036493647894b02d569b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.789229,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c7fdc681-e6d1-47c1-b128-91c05f5d0abe","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/c7fdc681-e6d1-47c1-b128-91c05f5d0abe","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66f91de9e516036493647894b02d569b"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7fdc681-e6d1-47c1-b128-91c05f5d0abe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc7fdc681-e6d1-47c1-b128-91c05f5d0abe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.194776940Z"}]},"request_id":"80453479-9e56-4adb-af79-d85c41ad22cd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.4111147} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66f91de9e516036493647894b02d569b"},"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:52962","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.679282,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.565904,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:55014","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:55028","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:55014","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.824734,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:55028","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.550696,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9f833163-6898-4c28-9b55-f184c9935ff3","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/9f833163-6898-4c28-9b55-f184c9935ff3","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"66f91de9e516036493647894b02d569b"},"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/d4277823-6b0c-4304-9b4b-2a32d9e91ad6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/d4277823-6b0c-4304-9b4b-2a32d9e91ad6","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"66f91de9e516036493647894b02d569b"},"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/787513e5-d4e0-4383-a9aa-30096d2ce888","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/787513e5-d4e0-4383-a9aa-30096d2ce888","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"66f91de9e516036493647894b02d569b"},"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/3d65f5ac-a86e-41bc-8c28-6b9508dbc4f1","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/3d65f5ac-a86e-41bc-8c28-6b9508dbc4f1","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"66f91de9e516036493647894b02d569b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:55042","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.940956,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/08bab07d-6e11-44b0-aeba-69340b30019a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/08bab07d-6e11-44b0-aeba-69340b30019a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"66f91de9e516036493647894b02d569b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:55042","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.792006,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e813c7c7-4898-4f5d-85c1-52e9930669b9","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e813c7c7-4898-4f5d-85c1-52e9930669b9","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"66f91de9e516036493647894b02d569b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c7fdc681-e6d1-47c1-b128-91c05f5d0abe? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"66f91de9e516036493647894b02d569b"} device-1 | {"level":"info","message":"GET /devices/c7fdc681-e6d1-47c1-b128-91c05f5d0abe? 200 36ms","method":"GET","requestID":"66f91de9e516036493647894b02d569b","responseTime":36,"status":200,"url":"/devices/c7fdc681-e6d1-47c1-b128-91c05f5d0abe?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"86325d9f993ac5b3d06db14d3ab98f43","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.683078,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/08bab07d-6e11-44b0-aeba-69340b30019a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/08bab07d-6e11-44b0-aeba-69340b30019a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86325d9f993ac5b3d06db14d3ab98f43"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bab07d-6e11-44b0-aeba-69340b30019a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F08bab07d-6e11-44b0-aeba-69340b30019a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.242388532Z"}]},"request_id":"ded9176b-b2c2-45ae-9660-6b6b414ad81e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.4501624} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86325d9f993ac5b3d06db14d3ab98f43"},"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:52962","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.97668,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.520758,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:55014","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:55028","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d028c6a2-6d09-4218-98bd-d835cf2d6d16","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/d028c6a2-6d09-4218-98bd-d835cf2d6d16","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86325d9f993ac5b3d06db14d3ab98f43"},"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/998c4715-83a8-4f60-b339-84d6bdb4b17c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/998c4715-83a8-4f60-b339-84d6bdb4b17c","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"86325d9f993ac5b3d06db14d3ab98f43"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:55014","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.747427,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:55028","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.637021,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/52681237-36be-4b45-aee4-07316a1ddb58","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/52681237-36be-4b45-aee4-07316a1ddb58","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"86325d9f993ac5b3d06db14d3ab98f43"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e813c7c7-4898-4f5d-85c1-52e9930669b9","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e813c7c7-4898-4f5d-85c1-52e9930669b9","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"86325d9f993ac5b3d06db14d3ab98f43"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/08bab07d-6e11-44b0-aeba-69340b30019a? 200 26ms","method":"GET","requestID":"86325d9f993ac5b3d06db14d3ab98f43","responseTime":26,"status":200,"url":"/devices/08bab07d-6e11-44b0-aeba-69340b30019a?"} gateway-1 | {"time_local":"08/May/2024:10:05:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/08bab07d-6e11-44b0-aeba-69340b30019a? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"86325d9f993ac5b3d06db14d3ab98f43"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e1abf1abc933f5d58325702070203a33","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.683888,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"e1abf1abc933f5d58325702070203a33"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bae08be-44e3-41ae-8c67-aaf70fa14187","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b3bd9a44-ff7f-49e8-b85e-e52e5ca40747","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.532137} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1abf1abc933f5d58325702070203a33"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"46cfe32f-d3d9-4595-81ea-8c979cc1cee5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.53747} 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":"e1abf1abc933f5d58325702070203a33"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bae08be-44e3-41ae-8c67-aaf70fa14187","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"cee81b60-2485-410c-b542-60a1fbdf76ae","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.5808487} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab0eeab5-d5da-4c49-a4f1-2f9fefd82964","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.580928} 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":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1abf1abc933f5d58325702070203a33"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":46}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bae08be-44e3-41ae-8c67-aaf70fa14187","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bae08be-44e3-41ae-8c67-aaf70fa14187","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.580828321Z"}]},"request_id":"b40052c6-cf18-47e6-a5c0-e2b1f29775b8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.5851834} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1abf1abc933f5d58325702070203a33"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.117","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e1abf1abc933f5d58325702070203a33"} device-1 | {"level":"info","message":"POST /devices? 201 113ms","method":"POST","requestID":"e1abf1abc933f5d58325702070203a33","responseTime":113,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0202e70985b1bbbfdf5e9d00c73fe364","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.742795,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"0202e70985b1bbbfdf5e9d00c73fe364"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35fc2271-c241-4a68-bdec-25a2fc3e357c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d4700784-cfe8-4d1d-ac2c-eec325c26a84","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.627204} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0202e70985b1bbbfdf5e9d00c73fe364"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f10108c-78b6-4cdb-8680-4dae8a522199","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.632373} 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":"0202e70985b1bbbfdf5e9d00c73fe364"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35fc2271-c241-4a68-bdec-25a2fc3e357c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"f52b141e-4e9c-48a7-81f1-779eff0e5b00","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.6457067} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f5b2c6eb-8e5a-4b57-ba04-fedd596d2b23","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.6457713} 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":"0202e70985b1bbbfdf5e9d00c73fe364"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35fc2271-c241-4a68-bdec-25a2fc3e357c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35fc2271-c241-4a68-bdec-25a2fc3e357c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.645685401Z"}]},"request_id":"f9f71ef2-76d5-41d7-841c-a1375c211c39","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.6503072} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0202e70985b1bbbfdf5e9d00c73fe364"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0202e70985b1bbbfdf5e9d00c73fe364"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"0202e70985b1bbbfdf5e9d00c73fe364","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"08eddfcd06bcb8461f762a0aa73ed4d4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.960376,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162735,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczNX0.7qb8z_TXksW-2fdBtMJ9xx8aE5NG_oVV2jGWgsav8aU"} 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":"08eddfcd06bcb8461f762a0aa73ed4d4"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d25b58b-3ece-4265-af14-0305ff18107f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0f294ff6-dfbd-40e7-8dac-89c7c140a151","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.7000766} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08eddfcd06bcb8461f762a0aa73ed4d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a1be4ec8-f443-48bd-bb60-745186523b0e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.7051284} 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":"08eddfcd06bcb8461f762a0aa73ed4d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d25b58b-3ece-4265-af14-0305ff18107f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"23362a9f-7293-4724-9be0-460476eda26d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.7407072} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e3a4bac-e896-4e4d-9013-becddce2ffe2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.7408376} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08eddfcd06bcb8461f762a0aa73ed4d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":38}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d25b58b-3ece-4265-af14-0305ff18107f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d25b58b-3ece-4265-af14-0305ff18107f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.740691373Z"}]},"request_id":"b58ada3d-eefa-474d-8d6c-72c75d0daab3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162735.745857} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08eddfcd06bcb8461f762a0aa73ed4d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"08eddfcd06bcb8461f762a0aa73ed4d4"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"08eddfcd06bcb8461f762a0aa73ed4d4","responseTime":90,"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":"b0452790193b1cda2344b3be729873e7","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8d25b58b-3ece-4265-af14-0305ff18107f/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":"b0452790193b1cda2344b3be729873e7"} device-1 | {"level":"info","message":"OPTIONS /devices/8d25b58b-3ece-4265-af14-0305ff18107f/websocket 200 1ms","method":"OPTIONS","requestID":"b0452790193b1cda2344b3be729873e7","responseTime":1,"status":200,"url":"/devices/8d25b58b-3ece-4265-af14-0305ff18107f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczN30.ZKHEARbcG3EpltRLrxerN8pvduiOtw6ZCU9O47BL_4U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3496298f2292bfb0b475901d09dbbdf5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.318604,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162737,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczN30.ZKHEARbcG3EpltRLrxerN8pvduiOtw6ZCU9O47BL_4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3496298f2292bfb0b475901d09dbbdf5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5823c2f03c986413f98e95dcb2d7dda9","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6bae08be-44e3-41ae-8c67-aaf70fa14187/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":"5823c2f03c986413f98e95dcb2d7dda9"} device-1 | {"level":"info","message":"OPTIONS /devices/6bae08be-44e3-41ae-8c67-aaf70fa14187/websocket 200 1ms","method":"OPTIONS","requestID":"5823c2f03c986413f98e95dcb2d7dda9","responseTime":1,"status":200,"url":"/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczN30.ZKHEARbcG3EpltRLrxerN8pvduiOtw6ZCU9O47BL_4U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6539897f5e23eea7a86d00532f6dd1e7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:37Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8d25b58b-3ece-4265-af14-0305ff18107f/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":"3496298f2292bfb0b475901d09dbbdf5"} device-1 | {"level":"info","message":"POST /devices/8d25b58b-3ece-4265-af14-0305ff18107f/websocket 200 30ms","method":"POST","requestID":"3496298f2292bfb0b475901d09dbbdf5","responseTime":30,"status":200,"url":"/devices/8d25b58b-3ece-4265-af14-0305ff18107f/websocket"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.99019,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162737,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczN30.ZKHEARbcG3EpltRLrxerN8pvduiOtw6ZCU9O47BL_4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6539897f5e23eea7a86d00532f6dd1e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6bae08be-44e3-41ae-8c67-aaf70fa14187/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":"6539897f5e23eea7a86d00532f6dd1e7"} device-1 | {"level":"info","message":"POST /devices/6bae08be-44e3-41ae-8c67-aaf70fa14187/websocket 200 20ms","method":"POST","requestID":"6539897f5e23eea7a86d00532f6dd1e7","responseTime":20,"status":200,"url":"/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczN30.ZKHEARbcG3EpltRLrxerN8pvduiOtw6ZCU9O47BL_4U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1b0557437f25fec50410fd11d1d43732","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696435,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162737,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczN30.ZKHEARbcG3EpltRLrxerN8pvduiOtw6ZCU9O47BL_4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b0557437f25fec50410fd11d1d43732"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d25b58b-3ece-4265-af14-0305ff18107f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d25b58b-3ece-4265-af14-0305ff18107f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.740691373Z"}]},"request_id":"9c47fc20-4cdf-427b-a854-8bf1fc2915ee","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162737.7664008} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b0557437f25fec50410fd11d1d43732"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8d25b58b-3ece-4265-af14-0305ff18107f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1b0557437f25fec50410fd11d1d43732"} device-1 | {"level":"info","message":"GET /devices/8d25b58b-3ece-4265-af14-0305ff18107f? 200 11ms","method":"GET","requestID":"1b0557437f25fec50410fd11d1d43732","responseTime":11,"status":200,"url":"/devices/8d25b58b-3ece-4265-af14-0305ff18107f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczN30.ZKHEARbcG3EpltRLrxerN8pvduiOtw6ZCU9O47BL_4U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"17800479d51d977b334cb981b88ee373","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:52962","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.678889,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162737,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczN30.ZKHEARbcG3EpltRLrxerN8pvduiOtw6ZCU9O47BL_4U"} 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":"17800479d51d977b334cb981b88ee373"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"},"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:52962","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.59925,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/35fc2271-c241-4a68-bdec-25a2fc3e357c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/35fc2271-c241-4a68-bdec-25a2fc3e357c","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162737,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczN30.ZKHEARbcG3EpltRLrxerN8pvduiOtw6ZCU9O47BL_4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84b46a00-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.660758,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162737,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczN30.ZKHEARbcG3EpltRLrxerN8pvduiOtw6ZCU9O47BL_4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84b49110-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35fc2271-c241-4a68-bdec-25a2fc3e357c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F35fc2271-c241-4a68-bdec-25a2fc3e357c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.645685401Z"}]},"request_id":"483a6a3b-e670-475b-815a-6b7b519cf07f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162737.8320444} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84b46a00-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d25b58b-3ece-4265-af14-0305ff18107f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d25b58b-3ece-4265-af14-0305ff18107f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.740691373Z"}]},"request_id":"642307f2-067b-47df-b5d7-8bccfb06ad9c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162737.8328226} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84b49110-0d22-11ef-9118-35435c36490d"},"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/8d25b58b-3ece-4265-af14-0305ff18107f? 200 14ms","method":"GET","requestID":"84b49110-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/8d25b58b-3ece-4265-af14-0305ff18107f?"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723888,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162737,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczN30.ZKHEARbcG3EpltRLrxerN8pvduiOtw6ZCU9O47BL_4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84b46a00-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/35fc2271-c241-4a68-bdec-25a2fc3e357c? 200 19ms","method":"GET","requestID":"84b46a00-0d22-11ef-9118-35435c36490d","responseTime":19,"status":200,"url":"/devices/35fc2271-c241-4a68-bdec-25a2fc3e357c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"},"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:52962","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.664065,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162737,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczN30.ZKHEARbcG3EpltRLrxerN8pvduiOtw6ZCU9O47BL_4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84bef150-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.785016,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162737,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczN30.ZKHEARbcG3EpltRLrxerN8pvduiOtw6ZCU9O47BL_4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84bf3f70-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.014913,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bae08be-44e3-41ae-8c67-aaf70fa14187","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec404d4d-dae3-40e7-b1e2-a65a73e27664","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162737.902898} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bae08be-44e3-41ae-8c67-aaf70fa14187","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bae08be-44e3-41ae-8c67-aaf70fa14187","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.580828321Z"}]},"request_id":"1bf74d13-6f1e-425c-bd49-6b6231583288","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162737.9042768} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187","object_type":"device","rebac_allow":false,"scope_allow":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":"84bf6680-0d22-11ef-9118-35435c36490d"},"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":"84bef150-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d25b58b-3ece-4265-af14-0305ff18107f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d25b58b-3ece-4265-af14-0305ff18107f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.740691373Z"}]},"request_id":"6c58c927-5582-4361-9421-2da368cde60f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162737.9063976} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84bf3f70-0d22-11ef-9118-35435c36490d"},"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/6bae08be-44e3-41ae-8c67-aaf70fa14187/signaling 200 16ms","method":"POST","requestID":"84bf6680-0d22-11ef-9118-35435c36490d","responseTime":16,"status":200,"url":"/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6bae08be-44e3-41ae-8c67-aaf70fa14187? 200 20ms","method":"GET","requestID":"84bef150-0d22-11ef-9118-35435c36490d","responseTime":20,"status":200,"url":"/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8d25b58b-3ece-4265-af14-0305ff18107f? 200 19ms","method":"GET","requestID":"84bf3f70-0d22-11ef-9118-35435c36490d","responseTime":19,"status":200,"url":"/devices/8d25b58b-3ece-4265-af14-0305ff18107f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe68ed8b1-23b5-4dd2-8709-bd97f707c076#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe68ed8b1-23b5-4dd2-8709-bd97f707c076","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"0e655e60-6e87-4672-9052-cc1b0cd972b5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162737.9175978} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"533f1419-b7be-4045-969f-c6ece7bbfa64","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162737.917757} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d25b58b-3ece-4265-af14-0305ff18107f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf5c65f9-c75f-46e9-b081-2d213c36bb3b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162737.9209278} 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":"17800479d51d977b334cb981b88ee373"},"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:52962","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.120796,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","object_type":"device","rebac_allow":false,"scope_allow":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":"84c24cb0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bae08be-44e3-41ae-8c67-aaf70fa14187","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"953ce86d-aacf-4376-9f1f-4f0fab4ebcba","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162737.9271605} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.179916,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84c2c1e0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"POST /devices/8d25b58b-3ece-4265-af14-0305ff18107f/signaling 200 15ms","method":"POST","requestID":"84c24cb0-0d22-11ef-9118-35435c36490d","responseTime":15,"status":200,"url":"/devices/8d25b58b-3ece-4265-af14-0305ff18107f/signaling"} gateway-1 | {"time_local":"08/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.161","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"17800479d51d977b334cb981b88ee373"} experiment-1 | {"level":"info","message":"POST /experiments? 201 155ms","method":"POST","requestID":"17800479d51d977b334cb981b88ee373","responseTime":155,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6bae08be-44e3-41ae-8c67-aaf70fa14187/signaling 200 16ms","method":"POST","requestID":"84c2c1e0-0d22-11ef-9118-35435c36490d","responseTime":16,"status":200,"url":"/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczN30.ZKHEARbcG3EpltRLrxerN8pvduiOtw6ZCU9O47BL_4U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9d2b8fb85631505acd66b22821dd6a47","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d25b58b-3ece-4265-af14-0305ff18107f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"deea81e7-ca2a-405c-b676-71c345003d66","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162737.9429698} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.195673,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162737,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczN30.ZKHEARbcG3EpltRLrxerN8pvduiOtw6ZCU9O47BL_4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d2b8fb85631505acd66b22821dd6a47"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.47267,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","object_type":"device","rebac_allow":false,"scope_allow":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":"84c5a810-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bae08be-44e3-41ae-8c67-aaf70fa14187","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bae08be-44e3-41ae-8c67-aaf70fa14187","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.580828321Z"}]},"request_id":"0208a6b5-b245-4bca-a20f-55256ac7bfd6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162737.9495747} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8d25b58b-3ece-4265-af14-0305ff18107f/signaling 200 13ms","method":"POST","requestID":"84c5a810-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/8d25b58b-3ece-4265-af14-0305ff18107f/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":"9d2b8fb85631505acd66b22821dd6a47"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"9b7b372a-96f6-4834-81aa-c868e551af81"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"977b1fb3-8be8-43fc-bd17-cc869e658bf4"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"4623ff82-59dc-4da7-b517-61892d22d8c7"}]},"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/6bae08be-44e3-41ae-8c67-aaf70fa14187"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6bae08be-44e3-41ae-8c67-aaf70fa14187? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9d2b8fb85631505acd66b22821dd6a47"} device-1 | {"level":"info","message":"GET /devices/6bae08be-44e3-41ae-8c67-aaf70fa14187? 200 14ms","method":"GET","requestID":"9d2b8fb85631505acd66b22821dd6a47","responseTime":14,"status":200,"url":"/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187?"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczN30.ZKHEARbcG3EpltRLrxerN8pvduiOtw6ZCU9O47BL_4U","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:37Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"182dbd3c8be4d27b957a3abda869ee79","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.839697,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162737,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczN30.ZKHEARbcG3EpltRLrxerN8pvduiOtw6ZCU9O47BL_4U"} 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":"84c86730-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.758357,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162737,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczN30.ZKHEARbcG3EpltRLrxerN8pvduiOtw6ZCU9O47BL_4U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"182dbd3c8be4d27b957a3abda869ee79"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d25b58b-3ece-4265-af14-0305ff18107f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d25b58b-3ece-4265-af14-0305ff18107f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:35.740691373Z"}]},"request_id":"3395e64d-df03-44a2-922f-a880a7520712","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162737.9680154} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"182dbd3c8be4d27b957a3abda869ee79"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"dceb5b15-7afb-420b-aec3-2bd54f5d69d8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162737.9718308} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab67aaab-14d1-48ee-9ef5-ce0c3cdbb69d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162737.9720612} gateway-1 | {"time_local":"08/May/2024:10:05:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8d25b58b-3ece-4265-af14-0305ff18107f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"182dbd3c8be4d27b957a3abda869ee79"} device-1 | {"level":"info","message":"GET /devices/8d25b58b-3ece-4265-af14-0305ff18107f? 200 12ms","method":"GET","requestID":"182dbd3c8be4d27b957a3abda869ee79","responseTime":12,"status":200,"url":"/devices/8d25b58b-3ece-4265-af14-0305ff18107f?"} 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":"84c86730-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/48c3c948-1554-4517-b8cc-29e7e09e8c1b'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/48c3c948-1554-4517-b8cc-29e7e09e8c1b'"} 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":"84c86730-0d22-11ef-9118-35435c36490d","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/e68ed8b1-23b5-4dd2-8709-bd97f707c076"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bae08be-44e3-41ae-8c67-aaf70fa14187","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f18e81a4-c66d-42ef-9338-b7a7a987efcc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.0301535} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.568463,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187","object_type":"device","rebac_allow":false,"scope_allow":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":"84d31590-0d22-11ef-9118-35435c36490d"},"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/6bae08be-44e3-41ae-8c67-aaf70fa14187/signaling 200 18ms","method":"POST","requestID":"84d31590-0d22-11ef-9118-35435c36490d","responseTime":18,"status":200,"url":"/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d25b58b-3ece-4265-af14-0305ff18107f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"57507d22-a623-4156-957c-ab3696cf4a18","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.0501993} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.533375,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84d622d0-0d22-11ef-9118-35435c36490d"},"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/8d25b58b-3ece-4265-af14-0305ff18107f/signaling 200 12ms","method":"POST","requestID":"84d622d0-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/8d25b58b-3ece-4265-af14-0305ff18107f/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/48c3c948-1554-4517-b8cc-29e7e09e8c1b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"48c3c948-1554-4517-b8cc-29e7e09e8c1b","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 0ms","method":"GET","requestID":"036914611dd993b4d8eb1dbec04c8792","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/48c3c948-1554-4517-b8cc-29e7e09e8c1b"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"036914611dd993b4d8eb1dbec04c8792","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"036914611dd993b4d8eb1dbec04c8792"} device-1 | {"data":{"peerconnection":"48c3c948-1554-4517-b8cc-29e7e09e8c1b","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"48c3c948-1554-4517-b8cc-29e7e09e8c1b","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/48c3c948-1554-4517-b8cc-29e7e09e8c1b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"48c3c948-1554-4517-b8cc-29e7e09e8c1b","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":"192f9d3bf550084a1472ed95d59ac1da","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/6bae08be-44e3-41ae-8c67-aaf70fa14187"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/48c3c948-1554-4517-b8cc-29e7e09e8c1b"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F48c3c948-1554-4517-b8cc-29e7e09e8c1b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2410bc2-3ec3-416b-a3ae-3deafbf12c2e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.1259882} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.001865,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/48c3c948-1554-4517-b8cc-29e7e09e8c1b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/48c3c948-1554-4517-b8cc-29e7e09e8c1b","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":"84e1e2a0-0d22-11ef-9118-35435c36490d"},"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/48c3c948-1554-4517-b8cc-29e7e09e8c1b 200 7ms","method":"GET","requestID":"84e1e2a0-0d22-11ef-9118-35435c36490d","responseTime":7,"status":200,"url":"/peerconnections/48c3c948-1554-4517-b8cc-29e7e09e8c1b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"192f9d3bf550084a1472ed95d59ac1da","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch","requestID":"192f9d3bf550084a1472ed95d59ac1da"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bae08be-44e3-41ae-8c67-aaf70fa14187","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"65d87372-c413-4e56-98aa-eaed58d5152d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.1497085} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.149933,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187","object_type":"device","rebac_allow":false,"scope_allow":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":"84e56510-0d22-11ef-9118-35435c36490d"},"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/6bae08be-44e3-41ae-8c67-aaf70fa14187/signaling 200 9ms","method":"POST","requestID":"84e56510-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d25b58b-3ece-4265-af14-0305ff18107f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e0b900c-4127-4834-842c-065b79c5a531","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.1603973} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.266429,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84e712c0-0d22-11ef-9118-35435c36490d"},"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/8d25b58b-3ece-4265-af14-0305ff18107f/signaling 200 8ms","method":"POST","requestID":"84e712c0-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/8d25b58b-3ece-4265-af14-0305ff18107f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczOH0.vziBBBwzQ_fmhwrYJF7q7D-tTptak0mDisUlX4eMKcQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"712b77c64d5f094c6083189ca6ad0af0","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.840832,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162738,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczOH0.vziBBBwzQ_fmhwrYJF7q7D-tTptak0mDisUlX4eMKcQ"} 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":"712b77c64d5f094c6083189ca6ad0af0"},"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/e68ed8b1-23b5-4dd2-8709-bd97f707c076"} gateway-1 | {"time_local":"08/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"712b77c64d5f094c6083189ca6ad0af0"} experiment-1 | {"level":"info","message":"GET /experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076 200 13ms","method":"GET","requestID":"712b77c64d5f094c6083189ca6ad0af0","responseTime":13,"status":200,"url":"/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczOH0.vziBBBwzQ_fmhwrYJF7q7D-tTptak0mDisUlX4eMKcQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1aa946a4dc94b9068414795803adaf48","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.929111,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162738,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczOH0.vziBBBwzQ_fmhwrYJF7q7D-tTptak0mDisUlX4eMKcQ"} 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":"1aa946a4dc94b9068414795803adaf48"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.715823,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/48c3c948-1554-4517-b8cc-29e7e09e8c1b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/48c3c948-1554-4517-b8cc-29e7e09e8c1b","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162738,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczOH0.vziBBBwzQ_fmhwrYJF7q7D-tTptak0mDisUlX4eMKcQ"} 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":"84f124e0-0d22-11ef-9118-35435c36490d"},"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/48c3c948-1554-4517-b8cc-29e7e09e8c1b' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/48c3c948-1554-4517-b8cc-29e7e09e8c1b' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"48c3c948-1554-4517-b8cc-29e7e09e8c1b","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":"7ea23de7460a1642d35f4a56abd582ce","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/6bae08be-44e3-41ae-8c67-aaf70fa14187"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/48c3c948-1554-4517-b8cc-29e7e09e8c1b"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f21ad2dd6e76a5c145602b1e41847ca1","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F48c3c948-1554-4517-b8cc-29e7e09e8c1b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F48c3c948-1554-4517-b8cc-29e7e09e8c1b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"986c79ae-0055-4674-8351-4d8945a9a9ed","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.2407665} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f19c366-a908-4c59-9da3-ef2a18d4b274","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.2411392} 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/6bae08be-44e3-41ae-8c67-aaf70fa14187"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/48c3c948-1554-4517-b8cc-29e7e09e8c1b"}}},"level":"info","message":"received a callback"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84f124e0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"data":{"peerconnection":"48c3c948-1554-4517-b8cc-29e7e09e8c1b","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/48c3c948-1554-4517-b8cc-29e7e09e8c1b 204 39ms","method":"DELETE","requestID":"84f124e0-0d22-11ef-9118-35435c36490d","responseTime":39,"status":204,"url":"/peerconnections/48c3c948-1554-4517-b8cc-29e7e09e8c1b"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6bae08be-44e3-41ae-8c67-aaf70fa14187","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"484d2a77-9418-4328-ab23-9e637c44556e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.2920902} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.167393,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84fae8e0-0d22-11ef-9118-35435c36490d"},"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/6bae08be-44e3-41ae-8c67-aaf70fa14187/signaling 200 10ms","method":"POST","requestID":"84fae8e0-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe68ed8b1-23b5-4dd2-8709-bd97f707c076': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe68ed8b1-23b5-4dd2-8709-bd97f707c076","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"1694a133-d7cc-49c6-a184-d43b0c537827","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.2991824} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa867db9-55d0-44b9-93fd-8d6d302fd75a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.2995367} 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":"1aa946a4dc94b9068414795803adaf48"},"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:52962","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d25b58b-3ece-4265-af14-0305ff18107f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"491cdf86-2cd8-47a1-9c7d-2ef98bba568c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.3048794} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.658837,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"84fce4b0-0d22-11ef-9118-35435c36490d"},"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/8d25b58b-3ece-4265-af14-0305ff18107f/signaling 200 11ms","method":"POST","requestID":"84fce4b0-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/8d25b58b-3ece-4265-af14-0305ff18107f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"} gateway-1 | {"time_local":"08/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.142","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1aa946a4dc94b9068414795803adaf48"} experiment-1 | {"level":"info","message":"DELETE /experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076 204 139ms","method":"DELETE","requestID":"1aa946a4dc94b9068414795803adaf48","responseTime":139,"status":204,"url":"/experiments/e68ed8b1-23b5-4dd2-8709-bd97f707c076"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 114ms","method":"POST","requestID":"7ea23de7460a1642d35f4a56abd582ce","responseTime":114,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.117","http_referrer":"","http_user_agent":"node-fetch","requestID":"7ea23de7460a1642d35f4a56abd582ce"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 113ms","method":"POST","requestID":"f21ad2dd6e76a5c145602b1e41847ca1","responseTime":113,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.119","http_referrer":"","http_user_agent":"node-fetch","requestID":"f21ad2dd6e76a5c145602b1e41847ca1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczOH0.vziBBBwzQ_fmhwrYJF7q7D-tTptak0mDisUlX4eMKcQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"99a73bba7afd35b8e8cae3794b5a52b2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.025644,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162738,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczOH0.vziBBBwzQ_fmhwrYJF7q7D-tTptak0mDisUlX4eMKcQ"} 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":"99a73bba7afd35b8e8cae3794b5a52b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"08/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2646","request_time":"0.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":"167fbab2ff7ace62de209e95b05a60ed"} gateway-1 | {"time_local":"08/May/2024:10:05:38 +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.646","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"30e3357925b1542f3e826e3c9313f2d6"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e1c4b8ef-0f86-4687-b2d2-7bc8405facc7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.3844335} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99a73bba7afd35b8e8cae3794b5a52b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a7882d4-1087-4241-b644-ab2c7c575a79","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.3901503} 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":"99a73bba7afd35b8e8cae3794b5a52b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8d25b58b-3ece-4265-af14-0305ff18107f' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6bae08be-44e3-41ae-8c67-aaf70fa14187' closed"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"9cf4e2b8-4292-4186-bb2c-4a475ebae035","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.4013634} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"251d42b9-f252-45fb-922e-ca9d233053ed","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.4016287} 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":"99a73bba7afd35b8e8cae3794b5a52b2"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:38.401344175Z"}]},"request_id":"3beb28d1-b1b7-4a08-bc63-6c481953af0b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.4059627} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99a73bba7afd35b8e8cae3794b5a52b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"99a73bba7afd35b8e8cae3794b5a52b2"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"99a73bba7afd35b8e8cae3794b5a52b2","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczOH0.vziBBBwzQ_fmhwrYJF7q7D-tTptak0mDisUlX4eMKcQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bc321cb33ef5e37fe879514cb04cc855","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.707763,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162738,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczOH0.vziBBBwzQ_fmhwrYJF7q7D-tTptak0mDisUlX4eMKcQ"} 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":"bc321cb33ef5e37fe879514cb04cc855"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2f1fa7-80be-4224-90c9-03c0049746cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c3445998-d22a-4e2b-8642-4408c2355976","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.4274704} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc321cb33ef5e37fe879514cb04cc855"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"863af842-2cf9-4bea-b58e-b507fe21250d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.432219} 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":"bc321cb33ef5e37fe879514cb04cc855"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2f1fa7-80be-4224-90c9-03c0049746cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"7b2f8c82-501f-4702-b774-cc4c0e6ead30","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.4391806} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ca2ed83b-cfcb-4d3e-b9a0-f79045fe1cc9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.4392433} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc321cb33ef5e37fe879514cb04cc855"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2f1fa7-80be-4224-90c9-03c0049746cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2f1fa7-80be-4224-90c9-03c0049746cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:38.439149133Z"}]},"request_id":"478a7f0d-fc44-4369-a9db-00a73c7ea180","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.4433453} authorization-1 | {"level":"info","message":"POST /relations/query 200 1ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc321cb33ef5e37fe879514cb04cc855"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":1}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc321cb33ef5e37fe879514cb04cc855"} device-1 | {"level":"info","message":"POST /devices? 201 32ms","method":"POST","requestID":"bc321cb33ef5e37fe879514cb04cc855","responseTime":32,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczOH0.vziBBBwzQ_fmhwrYJF7q7D-tTptak0mDisUlX4eMKcQ","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"337b12d227f6cd70ad7a75fabc69acd9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.742225,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162738,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczOH0.vziBBBwzQ_fmhwrYJF7q7D-tTptak0mDisUlX4eMKcQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"337b12d227f6cd70ad7a75fabc69acd9"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:38.401344175Z"}]},"request_id":"7179fa94-3158-4290-902d-0547b4849df3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.9888291} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"337b12d227f6cd70ad7a75fabc69acd9"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"12790ad5-f10b-4f6d-8d04-ff451ba540cc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162738.993668} 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":"337b12d227f6cd70ad7a75fabc69acd9"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:38.401344175Z"}]},"request_id":"8f1a2afa-a518-45bf-a63d-8d3bc3cf49d9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162739.01247} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"337b12d227f6cd70ad7a75fabc69acd9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c8122a69-abd4-42fc-bfdb-c550e70d1032 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.038","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"337b12d227f6cd70ad7a75fabc69acd9"} device-1 | {"level":"info","message":"PATCH /devices/c8122a69-abd4-42fc-bfdb-c550e70d1032 200 34ms","method":"PATCH","requestID":"337b12d227f6cd70ad7a75fabc69acd9","responseTime":34,"status":200,"url":"/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczOX0.wuSLe_T0ysq8zsINFV1Qy74DwempNTyrUM72jka2fbA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"760c5c5005b2f891844fbc9bed61a21d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.936129,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162739,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjczOX0.wuSLe_T0ysq8zsINFV1Qy74DwempNTyrUM72jka2fbA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"760c5c5005b2f891844fbc9bed61a21d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c8122a69-abd4-42fc-bfdb-c550e70d1032/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":"760c5c5005b2f891844fbc9bed61a21d"} device-1 | {"level":"info","message":"POST /devices/c8122a69-abd4-42fc-bfdb-c550e70d1032/websocket 200 16ms","method":"POST","requestID":"760c5c5005b2f891844fbc9bed61a21d","responseTime":16,"status":200,"url":"/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032' 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":"1051754b79d841ee800cc411e8bba470","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:05:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2a2f1fa7-80be-4224-90c9-03c0049746cf/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":"1051754b79d841ee800cc411e8bba470"} device-1 | {"level":"info","message":"OPTIONS /devices/2a2f1fa7-80be-4224-90c9-03c0049746cf/websocket 200 1ms","method":"OPTIONS","requestID":"1051754b79d841ee800cc411e8bba470","responseTime":1,"status":200,"url":"/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0MH0.TFVVYCFC7CNNmR-F8gViEpAFY7YbwKPCJ7pWjKIofF0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8b67b5256f1d799c38c57b98eb30a4c5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.959357,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162740,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0MH0.TFVVYCFC7CNNmR-F8gViEpAFY7YbwKPCJ7pWjKIofF0"} 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":"8b67b5256f1d799c38c57b98eb30a4c5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2a2f1fa7-80be-4224-90c9-03c0049746cf/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8b67b5256f1d799c38c57b98eb30a4c5"} device-1 | {"level":"info","message":"POST /devices/2a2f1fa7-80be-4224-90c9-03c0049746cf/websocket 200 15ms","method":"POST","requestID":"8b67b5256f1d799c38c57b98eb30a4c5","responseTime":15,"status":200,"url":"/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0MH0.TFVVYCFC7CNNmR-F8gViEpAFY7YbwKPCJ7pWjKIofF0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"52dc87c078ad65368b01cde2d19a2cd4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.693564,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162740,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0MH0.TFVVYCFC7CNNmR-F8gViEpAFY7YbwKPCJ7pWjKIofF0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"52dc87c078ad65368b01cde2d19a2cd4"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:38.401344175Z"}]},"request_id":"36e1bbb2-2fd9-437d-8f8b-98c077640997","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162740.430158} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"52dc87c078ad65368b01cde2d19a2cd4"},"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/c8122a69-abd4-42fc-bfdb-c550e70d1032? 200 10ms","method":"GET","requestID":"52dc87c078ad65368b01cde2d19a2cd4","responseTime":10,"status":200,"url":"/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032?"} gateway-1 | {"time_local":"08/May/2024:10:05:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c8122a69-abd4-42fc-bfdb-c550e70d1032? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"52dc87c078ad65368b01cde2d19a2cd4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0MH0.TFVVYCFC7CNNmR-F8gViEpAFY7YbwKPCJ7pWjKIofF0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"49432593e96f6d6e9c44fc43547a648b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926483,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162740,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0MH0.TFVVYCFC7CNNmR-F8gViEpAFY7YbwKPCJ7pWjKIofF0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"49432593e96f6d6e9c44fc43547a648b"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2f1fa7-80be-4224-90c9-03c0049746cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2f1fa7-80be-4224-90c9-03c0049746cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:38.439149133Z"}]},"request_id":"7d0e7820-2bf7-46b8-a014-7a8ffa1bb5e8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162740.4470515} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"49432593e96f6d6e9c44fc43547a648b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2a2f1fa7-80be-4224-90c9-03c0049746cf? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"49432593e96f6d6e9c44fc43547a648b"} device-1 | {"level":"info","message":"GET /devices/2a2f1fa7-80be-4224-90c9-03c0049746cf? 200 11ms","method":"GET","requestID":"49432593e96f6d6e9c44fc43547a648b","responseTime":11,"status":200,"url":"/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0MH0.TFVVYCFC7CNNmR-F8gViEpAFY7YbwKPCJ7pWjKIofF0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8a8e37444e60b628a03f962e8617fb86","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:52962","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.681298,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162740,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0MH0.TFVVYCFC7CNNmR-F8gViEpAFY7YbwKPCJ7pWjKIofF0"} 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":"8a8e37444e60b628a03f962e8617fb86"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aed29530-729a-4766-9595-6e8b6b68e46d"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aed29530-729a-4766-9595-6e8b6b68e46d"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aed29530-729a-4766-9595-6e8b6b68e46d"},"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:52962","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919991,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162740,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0MH0.TFVVYCFC7CNNmR-F8gViEpAFY7YbwKPCJ7pWjKIofF0"} 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":"864da7a0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.319883,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162740,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0MH0.TFVVYCFC7CNNmR-F8gViEpAFY7YbwKPCJ7pWjKIofF0"} 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":"864df5c0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/c8122a69-abd4-42fc-bfdb-c550e70d1032? 200 25ms","method":"GET","requestID":"864da7a0-0d22-11ef-9118-35435c36490d","responseTime":25,"status":200,"url":"/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:38.401344175Z"}]},"request_id":"82e2a763-02b0-46ec-99a4-e7f14a5007a6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162740.5202982} 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":"864da7a0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2f1fa7-80be-4224-90c9-03c0049746cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2f1fa7-80be-4224-90c9-03c0049746cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:38.439149133Z"}]},"request_id":"b50ea76b-bdd7-4604-a4db-d127b220a380","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162740.525713} authorization-1 | {"level":"info","message":"POST /relations/query 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"864df5c0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2a2f1fa7-80be-4224-90c9-03c0049746cf? 200 33ms","method":"GET","requestID":"864df5c0-0d22-11ef-9118-35435c36490d","responseTime":33,"status":200,"url":"/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aed29530-729a-4766-9595-6e8b6b68e46d"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aed29530-729a-4766-9595-6e8b6b68e46d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aed29530-729a-4766-9595-6e8b6b68e46d"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aed29530-729a-4766-9595-6e8b6b68e46d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aed29530-729a-4766-9595-6e8b6b68e46d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aed29530-729a-4766-9595-6e8b6b68e46d"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aed29530-729a-4766-9595-6e8b6b68e46d"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aed29530-729a-4766-9595-6e8b6b68e46d"},"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/aed29530-729a-4766-9595-6e8b6b68e46d"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.981133,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162740,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0MH0.TFVVYCFC7CNNmR-F8gViEpAFY7YbwKPCJ7pWjKIofF0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8658cb30-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.945349,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162740,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0MH0.TFVVYCFC7CNNmR-F8gViEpAFY7YbwKPCJ7pWjKIofF0"} 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":"8658f240-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b94f5e4-2449-49d4-b70f-a534af023373","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162740.5881093} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.837137,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","object_type":"device","rebac_allow":false,"scope_allow":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":"86591950-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:38.401344175Z"}]},"request_id":"6082a0a1-4143-4ad8-a749-61a6cf42a566","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162740.5908246} 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":"8658cb30-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"POST /devices/c8122a69-abd4-42fc-bfdb-c550e70d1032/signaling 200 14ms","method":"POST","requestID":"86591950-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032/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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2f1fa7-80be-4224-90c9-03c0049746cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2f1fa7-80be-4224-90c9-03c0049746cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:38.439149133Z"}]},"request_id":"9a393a4e-7b99-4979-9fee-87f1fb469e98","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162740.594161} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8658f240-0d22-11ef-9118-35435c36490d"},"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/c8122a69-abd4-42fc-bfdb-c550e70d1032? 200 23ms","method":"GET","requestID":"8658cb30-0d22-11ef-9118-35435c36490d","responseTime":23,"status":200,"url":"/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faed29530-729a-4766-9595-6e8b6b68e46d#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faed29530-729a-4766-9595-6e8b6b68e46d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"a4554013-8768-4134-a068-d5fb8731f638","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162740.6014683} 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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb9cab7b-aaeb-4b93-811b-b2a8038c2cb2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162740.601789} device-1 | {"level":"info","message":"GET /devices/2a2f1fa7-80be-4224-90c9-03c0049746cf? 200 23ms","method":"GET","requestID":"8658f240-0d22-11ef-9118-35435c36490d","responseTime":23,"status":200,"url":"/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf?"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:40Z"} 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":"8a8e37444e60b628a03f962e8617fb86"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2f1fa7-80be-4224-90c9-03c0049746cf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f0cf96b9-5d69-41e4-9c3c-dd1244cc4d7f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162740.604535} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.974096,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"865bb160-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:40Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2a2f1fa7-80be-4224-90c9-03c0049746cf/signaling 200 13ms","method":"POST","requestID":"865bb160-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f99f936-9f23-49c6-8413-b82873a12c97","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162740.6116319} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.585921,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","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/aed29530-729a-4766-9595-6e8b6b68e46d","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"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":"865ce9e0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"08/May/2024:10:05:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8a8e37444e60b628a03f962e8617fb86"} experiment-1 | {"level":"info","message":"POST /experiments? 201 156ms","method":"POST","requestID":"8a8e37444e60b628a03f962e8617fb86","responseTime":156,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/c8122a69-abd4-42fc-bfdb-c550e70d1032/signaling 200 15ms","method":"POST","requestID":"865ce9e0-0d22-11ef-9118-35435c36490d","responseTime":15,"status":200,"url":"/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0MH0.TFVVYCFC7CNNmR-F8gViEpAFY7YbwKPCJ7pWjKIofF0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"57e4911651889037918e51a9f18fc2b5","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.105622,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162740,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0MH0.TFVVYCFC7CNNmR-F8gViEpAFY7YbwKPCJ7pWjKIofF0"} 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":"57e4911651889037918e51a9f18fc2b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.996342,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2f1fa7-80be-4224-90c9-03c0049746cf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2585726-8e22-4d14-a194-0d62ca163325","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162740.6323695} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","object_type":"device","rebac_allow":false,"scope_allow":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":"865fd010-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:38.401344175Z"}]},"request_id":"e21120fb-3713-41be-acc5-4ef57af232ee","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162740.6383984} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"57e4911651889037918e51a9f18fc2b5"},"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/2a2f1fa7-80be-4224-90c9-03c0049746cf/signaling 200 21ms","method":"POST","requestID":"865fd010-0d22-11ef-9118-35435c36490d","responseTime":21,"status":200,"url":"/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aed29530-729a-4766-9595-6e8b6b68e46d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aed29530-729a-4766-9595-6e8b6b68e46d"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"86f07212-08c5-4637-83ed-9318f7e1fe77"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"e14aba0b-d5d5-42a7-bf34-8dfa4dca7c0a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"83dfb80d-08b3-409e-a554-2a3e5d62c269"}]},"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/2a2f1fa7-80be-4224-90c9-03c0049746cf"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c8122a69-abd4-42fc-bfdb-c550e70d1032? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"57e4911651889037918e51a9f18fc2b5"} device-1 | {"level":"info","message":"GET /devices/c8122a69-abd4-42fc-bfdb-c550e70d1032? 200 25ms","method":"GET","requestID":"57e4911651889037918e51a9f18fc2b5","responseTime":25,"status":200,"url":"/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032?"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:40Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0MH0.TFVVYCFC7CNNmR-F8gViEpAFY7YbwKPCJ7pWjKIofF0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3e1e5f768fbe9360e4d756cc6efea441","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.005659,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:40Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162740,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0MH0.TFVVYCFC7CNNmR-F8gViEpAFY7YbwKPCJ7pWjKIofF0"} 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":"8663a0a0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.994646,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162740,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0MH0.TFVVYCFC7CNNmR-F8gViEpAFY7YbwKPCJ7pWjKIofF0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e1e5f768fbe9360e4d756cc6efea441"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2f1fa7-80be-4224-90c9-03c0049746cf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2f1fa7-80be-4224-90c9-03c0049746cf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:38.439149133Z"}]},"request_id":"0b32eb93-dddc-44ed-bc4c-601ddb5e8235","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162740.6628823} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e1e5f768fbe9360e4d756cc6efea441"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"e3bdd3e1-215d-496b-97e3-bb3bcc281b7f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162740.6641524} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a1cc9661-ad26-45ea-acf5-e3784d98c437","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162740.6643503} 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":"8663a0a0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2a2f1fa7-80be-4224-90c9-03c0049746cf? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3e1e5f768fbe9360e4d756cc6efea441"} device-1 | {"level":"info","message":"GET /devices/2a2f1fa7-80be-4224-90c9-03c0049746cf? 200 14ms","method":"GET","requestID":"3e1e5f768fbe9360e4d756cc6efea441","responseTime":14,"status":200,"url":"/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf?"} 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/ce3925dd-6c75-43fb-af0a-27b36470ffac'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ce3925dd-6c75-43fb-af0a-27b36470ffac'"} 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":"8663a0a0-0d22-11ef-9118-35435c36490d","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/aed29530-729a-4766-9595-6e8b6b68e46d"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20a44931-dbfb-408c-807a-4713d2ba2725","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162740.7236934} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.333922,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","object_type":"device","rebac_allow":false,"scope_allow":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":"866e00e0-0d22-11ef-9118-35435c36490d"},"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/c8122a69-abd4-42fc-bfdb-c550e70d1032/signaling 200 17ms","method":"POST","requestID":"866e00e0-0d22-11ef-9118-35435c36490d","responseTime":17,"status":200,"url":"/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2f1fa7-80be-4224-90c9-03c0049746cf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a9c528f-4bd1-434a-9b51-d678a5f4ef64","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162740.7462645} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.016008,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","object_type":"device","rebac_allow":false,"scope_allow":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":"86710e20-0d22-11ef-9118-35435c36490d"},"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/2a2f1fa7-80be-4224-90c9-03c0049746cf/signaling 200 14ms","method":"POST","requestID":"86710e20-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf/signaling"} device-1 | {"data":{"peerconnection":"ce3925dd-6c75-43fb-af0a-27b36470ffac","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/ce3925dd-6c75-43fb-af0a-27b36470ffac' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ce3925dd-6c75-43fb-af0a-27b36470ffac","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":"deac68b502d06e68ac8695d90710e4cc","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/2a2f1fa7-80be-4224-90c9-03c0049746cf'"} 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/2a2f1fa7-80be-4224-90c9-03c0049746cf"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ce3925dd-6c75-43fb-af0a-27b36470ffac"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"deac68b502d06e68ac8695d90710e4cc","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"deac68b502d06e68ac8695d90710e4cc"} device-1 | {"data":{"peerconnection":"ce3925dd-6c75-43fb-af0a-27b36470ffac","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ce3925dd-6c75-43fb-af0a-27b36470ffac","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/ce3925dd-6c75-43fb-af0a-27b36470ffac' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ce3925dd-6c75-43fb-af0a-27b36470ffac","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":"21db889488754b84666d9a9e2cf93704","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/2a2f1fa7-80be-4224-90c9-03c0049746cf"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ce3925dd-6c75-43fb-af0a-27b36470ffac"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:42Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fce3925dd-6c75-43fb-af0a-27b36470ffac","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"624ec705-6bc2-4ea6-bdb5-706cd58e0be0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162742.800226} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.799307,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ce3925dd-6c75-43fb-af0a-27b36470ffac","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ce3925dd-6c75-43fb-af0a-27b36470ffac","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":"87aaedb0-0d22-11ef-9118-35435c36490d"},"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/ce3925dd-6c75-43fb-af0a-27b36470ffac 200 9ms","method":"GET","requestID":"87aaedb0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/peerconnections/ce3925dd-6c75-43fb-af0a-27b36470ffac"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"21db889488754b84666d9a9e2cf93704","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"21db889488754b84666d9a9e2cf93704"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:42Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2f1fa7-80be-4224-90c9-03c0049746cf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8e7d231e-b516-4fe3-a07e-7c225024bb72","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162742.8239162} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.197962,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","object_type":"device","rebac_allow":false,"scope_allow":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":"87ae9730-0d22-11ef-9118-35435c36490d"},"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/2a2f1fa7-80be-4224-90c9-03c0049746cf/signaling 200 9ms","method":"POST","requestID":"87ae9730-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:42Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9dcce47f-a429-4dcf-94cf-87e5ebc2485a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162742.834428} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.24617,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87b044e0-0d22-11ef-9118-35435c36490d"},"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/c8122a69-abd4-42fc-bfdb-c550e70d1032/signaling 200 8ms","method":"POST","requestID":"87b044e0-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0Mn0.ytZ5ngbhjvWTDhwRZUmj3DF80_ogCZ_C2C7RBWY4rCM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0ce6aadf01b2830800e5e1493c28d31c","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/aed29530-729a-4766-9595-6e8b6b68e46d"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.691635,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/aed29530-729a-4766-9595-6e8b6b68e46d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/aed29530-729a-4766-9595-6e8b6b68e46d","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162742,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0Mn0.ytZ5ngbhjvWTDhwRZUmj3DF80_ogCZ_C2C7RBWY4rCM"} 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":"0ce6aadf01b2830800e5e1493c28d31c"},"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/aed29530-729a-4766-9595-6e8b6b68e46d"} gateway-1 | {"time_local":"08/May/2024:10:05:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/aed29530-729a-4766-9595-6e8b6b68e46d 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":"0ce6aadf01b2830800e5e1493c28d31c"} experiment-1 | {"level":"info","message":"GET /experiments/aed29530-729a-4766-9595-6e8b6b68e46d 200 11ms","method":"GET","requestID":"0ce6aadf01b2830800e5e1493c28d31c","responseTime":11,"status":200,"url":"/experiments/aed29530-729a-4766-9595-6e8b6b68e46d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0Mn0.ytZ5ngbhjvWTDhwRZUmj3DF80_ogCZ_C2C7RBWY4rCM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eae52d8d4c52027ee2d3c9aff87dc874","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/aed29530-729a-4766-9595-6e8b6b68e46d"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.734198,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/aed29530-729a-4766-9595-6e8b6b68e46d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/aed29530-729a-4766-9595-6e8b6b68e46d","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162742,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0Mn0.ytZ5ngbhjvWTDhwRZUmj3DF80_ogCZ_C2C7RBWY4rCM"} 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":"eae52d8d4c52027ee2d3c9aff87dc874"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aed29530-729a-4766-9595-6e8b6b68e46d"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.727503,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:42Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ce3925dd-6c75-43fb-af0a-27b36470ffac","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/ce3925dd-6c75-43fb-af0a-27b36470ffac","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162742,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0Mn0.ytZ5ngbhjvWTDhwRZUmj3DF80_ogCZ_C2C7RBWY4rCM"} 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":"87c5efc0-0d22-11ef-9118-35435c36490d"},"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/ce3925dd-6c75-43fb-af0a-27b36470ffac' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ce3925dd-6c75-43fb-af0a-27b36470ffac' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ce3925dd-6c75-43fb-af0a-27b36470ffac","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":"a8a321c4348e8286ac9a5ee8a0c832c1","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/2a2f1fa7-80be-4224-90c9-03c0049746cf"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ce3925dd-6c75-43fb-af0a-27b36470ffac"}}},"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":"0cf3b57cf6d07fb6527ebd9f9f2464fe","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/2a2f1fa7-80be-4224-90c9-03c0049746cf"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ce3925dd-6c75-43fb-af0a-27b36470ffac"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fce3925dd-6c75-43fb-af0a-27b36470ffac': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fce3925dd-6c75-43fb-af0a-27b36470ffac","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"dc9dbd01-4354-4881-bbfe-e4ce315d86cf","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162742.9922936} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ee4ca45-bbc6-4e6e-9d6d-9196116cdf9a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162742.9925508} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87c5efc0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"data":{"peerconnection":"ce3925dd-6c75-43fb-af0a-27b36470ffac","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/ce3925dd-6c75-43fb-af0a-27b36470ffac 204 34ms","method":"DELETE","requestID":"87c5efc0-0d22-11ef-9118-35435c36490d","responseTime":34,"status":204,"url":"/peerconnections/ce3925dd-6c75-43fb-af0a-27b36470ffac"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/aed29530-729a-4766-9595-6e8b6b68e46d"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:43Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a2f1fa7-80be-4224-90c9-03c0049746cf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9ef7843d-1308-4a0b-866c-77d463494f96","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162743.0255835} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.208889,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf","object_type":"device","rebac_allow":false,"scope_allow":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":"87cd69d0-0d22-11ef-9118-35435c36490d"},"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/2a2f1fa7-80be-4224-90c9-03c0049746cf/signaling 200 9ms","method":"POST","requestID":"87cd69d0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/2a2f1fa7-80be-4224-90c9-03c0049746cf/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faed29530-729a-4766-9595-6e8b6b68e46d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Faed29530-729a-4766-9595-6e8b6b68e46d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"9d691e43-db90-4d6f-93b6-32de5a8c4db8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162743.0325606} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39b5ca99-ad69-48a2-9c1b-7177f96cf989","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162743.0329149} 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":"eae52d8d4c52027ee2d3c9aff87dc874"},"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:52962","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:43Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8122a69-abd4-42fc-bfdb-c550e70d1032","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12b37a71-a245-4cb2-b52f-8c88a0c11b05","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162743.0378582} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.580493,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87cf1780-0d22-11ef-9118-35435c36490d"},"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/c8122a69-abd4-42fc-bfdb-c550e70d1032/signaling 200 11ms","method":"POST","requestID":"87cf1780-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/aed29530-729a-4766-9595-6e8b6b68e46d"} gateway-1 | {"time_local":"08/May/2024:10:05:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/aed29530-729a-4766-9595-6e8b6b68e46d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.119","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eae52d8d4c52027ee2d3c9aff87dc874"} experiment-1 | {"level":"info","message":"DELETE /experiments/aed29530-729a-4766-9595-6e8b6b68e46d 204 117ms","method":"DELETE","requestID":"eae52d8d4c52027ee2d3c9aff87dc874","responseTime":117,"status":204,"url":"/experiments/aed29530-729a-4766-9595-6e8b6b68e46d"} gateway-1 | {"time_local":"08/May/2024:10:05:43 +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.044","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f5637f7dc3ac97faa4732e083e5e369e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 92ms","method":"POST","requestID":"a8a321c4348e8286ac9a5ee8a0c832c1","responseTime":92,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch","requestID":"a8a321c4348e8286ac9a5ee8a0c832c1"} gateway-1 | {"time_local":"08/May/2024:10:05:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch","requestID":"0cf3b57cf6d07fb6527ebd9f9f2464fe"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 93ms","method":"POST","requestID":"0cf3b57cf6d07fb6527ebd9f9f2464fe","responseTime":93,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0M30.sV_H---DStE7_1Msrpi4AWnkFy8YtUGAtK4_bcAlMns","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"853d597a6e0b6c66183513188450e399","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/May/2024:10:05:43 +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.684","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"92585378df4c42132dc605deb5cabe17"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:43Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c8122a69-abd4-42fc-bfdb-c550e70d1032' closed"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.899009,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162743,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0M30.sV_H---DStE7_1Msrpi4AWnkFy8YtUGAtK4_bcAlMns"} 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":"853d597a6e0b6c66183513188450e399"},"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/2a2f1fa7-80be-4224-90c9-03c0049746cf' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"abb10a35-7a64-4ce2-9449-56d02f4bcf8e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162743.1129515} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"853d597a6e0b6c66183513188450e399"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3dfd277d-1898-4b0c-a770-85c1d1719167","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162743.1187084} 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":"853d597a6e0b6c66183513188450e399"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"fa0ad83c-f70b-4daf-ab59-5c143af63463","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162743.1277125} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"17f6f678-f5e0-49cb-aafc-36440b87a02f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162743.1280353} 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":"853d597a6e0b6c66183513188450e399"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:43.127693020Z"}]},"request_id":"017d1da6-f63a-46e2-8bcc-213975bb2091","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162743.133277} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"853d597a6e0b6c66183513188450e399"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"853d597a6e0b6c66183513188450e399"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"853d597a6e0b6c66183513188450e399","responseTime":45,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0M30.sV_H---DStE7_1Msrpi4AWnkFy8YtUGAtK4_bcAlMns","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4bd64aebdf4917c740a40971cf5adbdc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:43Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.830986,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162743,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0M30.sV_H---DStE7_1Msrpi4AWnkFy8YtUGAtK4_bcAlMns"} 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":"4bd64aebdf4917c740a40971cf5adbdc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93773228-20c6-48ea-9942-fb71e2696d87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7647f0f8-f390-44da-97c0-25c0f41e1d72","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162743.15965} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bd64aebdf4917c740a40971cf5adbdc"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c3db89ea-8e6a-4b44-9e3d-749e6c78b1ed","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162743.1653845} 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":"4bd64aebdf4917c740a40971cf5adbdc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93773228-20c6-48ea-9942-fb71e2696d87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"9d06d63b-bac0-4463-a052-9928696068d6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162743.1787531} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0bc26f8c-9d2d-460b-a71e-d15f7b81bad0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162743.1788695} 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":"4bd64aebdf4917c740a40971cf5adbdc"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93773228-20c6-48ea-9942-fb71e2696d87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93773228-20c6-48ea-9942-fb71e2696d87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:43.178730349Z"}]},"request_id":"c7aadd91-afed-422e-8fe2-08efbbfb698d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162743.1833978} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bd64aebdf4917c740a40971cf5adbdc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4bd64aebdf4917c740a40971cf5adbdc"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"4bd64aebdf4917c740a40971cf5adbdc","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":"ad168a7f26ba7677700415a0ad4567e7","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:05:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/93773228-20c6-48ea-9942-fb71e2696d87/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":"ad168a7f26ba7677700415a0ad4567e7"} device-1 | {"level":"info","message":"OPTIONS /devices/93773228-20c6-48ea-9942-fb71e2696d87/websocket 200 1ms","method":"OPTIONS","requestID":"ad168a7f26ba7677700415a0ad4567e7","responseTime":1,"status":200,"url":"/devices/93773228-20c6-48ea-9942-fb71e2696d87/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"04799d73860a9be0054c2ef0eb8621a6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.951747,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162745,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"04799d73860a9be0054c2ef0eb8621a6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/93773228-20c6-48ea-9942-fb71e2696d87/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":"04799d73860a9be0054c2ef0eb8621a6"} device-1 | {"level":"info","message":"POST /devices/93773228-20c6-48ea-9942-fb71e2696d87/websocket 200 32ms","method":"POST","requestID":"04799d73860a9be0054c2ef0eb8621a6","responseTime":32,"status":200,"url":"/devices/93773228-20c6-48ea-9942-fb71e2696d87/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"be3511a11fe0e5b758b66df3e0284c3e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:05:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca/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":"be3511a11fe0e5b758b66df3e0284c3e"} device-1 | {"level":"info","message":"OPTIONS /devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca/websocket 200 1ms","method":"OPTIONS","requestID":"be3511a11fe0e5b758b66df3e0284c3e","responseTime":1,"status":200,"url":"/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"47c94f06847da790b54f1e75d6e34cc8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.733088,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162745,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47c94f06847da790b54f1e75d6e34cc8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"device 'http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca/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":"47c94f06847da790b54f1e75d6e34cc8"} device-1 | {"level":"info","message":"POST /devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca/websocket 200 20ms","method":"POST","requestID":"47c94f06847da790b54f1e75d6e34cc8","responseTime":20,"status":200,"url":"/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9baffb4f67530b59a483abf909c8e4cd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919119,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162745,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9baffb4f67530b59a483abf909c8e4cd"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:43.127693020Z"}]},"request_id":"5eebd9e1-0921-4698-a345-316fa533b89e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.17971} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9baffb4f67530b59a483abf909c8e4cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9baffb4f67530b59a483abf909c8e4cd"} device-1 | {"level":"info","message":"GET /devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca? 200 11ms","method":"GET","requestID":"9baffb4f67530b59a483abf909c8e4cd","responseTime":11,"status":200,"url":"/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cce02d6b9ee1099f6587914c1a6108f6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.281079,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162745,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cce02d6b9ee1099f6587914c1a6108f6"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93773228-20c6-48ea-9942-fb71e2696d87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93773228-20c6-48ea-9942-fb71e2696d87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:43.178730349Z"}]},"request_id":"ad183ebe-a59d-467f-bad2-96bd59a3fbea","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.1958175} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cce02d6b9ee1099f6587914c1a6108f6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/93773228-20c6-48ea-9942-fb71e2696d87? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cce02d6b9ee1099f6587914c1a6108f6"} device-1 | {"level":"info","message":"GET /devices/93773228-20c6-48ea-9942-fb71e2696d87? 200 12ms","method":"GET","requestID":"cce02d6b9ee1099f6587914c1a6108f6","responseTime":12,"status":200,"url":"/devices/93773228-20c6-48ea-9942-fb71e2696d87?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b79d2a845abcc61c197e1b4d202e1043","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:52962","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.954308,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162745,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q"} 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":"b79d2a845abcc61c197e1b4d202e1043"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"},"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:52962","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.928643,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162745,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"891e7ae0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.940189,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162745,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"891ec900-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:43.127693020Z"}]},"request_id":"925b5b0c-abfc-48e0-b0e8-3cfbabff9fd3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.2388937} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"891e7ae0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93773228-20c6-48ea-9942-fb71e2696d87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93773228-20c6-48ea-9942-fb71e2696d87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:43.178730349Z"}]},"request_id":"2b240c9f-69e6-4164-a5d9-ec02f7c7bd3d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.2393844} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"891ec900-0d22-11ef-9118-35435c36490d"},"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/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca? 200 14ms","method":"GET","requestID":"891e7ae0-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/93773228-20c6-48ea-9942-fb71e2696d87? 200 12ms","method":"GET","requestID":"891ec900-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/93773228-20c6-48ea-9942-fb71e2696d87?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"},"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/ba7bf4c9-b8d8-456c-9565-566abb8159bd"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.975768,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162745,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8927a2a0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764228,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162745,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8927f0c0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.06839,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e58eb465-3769-4d9b-9031-817701337abf","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.302128} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","object_type":"device","rebac_allow":false,"scope_allow":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":"89283ee0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93773228-20c6-48ea-9942-fb71e2696d87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93773228-20c6-48ea-9942-fb71e2696d87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:43.178730349Z"}]},"request_id":"6d83a708-b966-42e5-83c5-98befcb0c88a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.3048005} 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":"8927f0c0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:43.127693020Z"}]},"request_id":"4be0e3ae-a144-4e07-9f10-95bd53db68ca","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.3082848} device-1 | {"level":"info","message":"POST /devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca/signaling 200 15ms","method":"POST","requestID":"89283ee0-0d22-11ef-9118-35435c36490d","responseTime":15,"status":200,"url":"/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca/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":"8927a2a0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba7bf4c9-b8d8-456c-9565-566abb8159bd#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba7bf4c9-b8d8-456c-9565-566abb8159bd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"cc205860-c7bd-4b35-abd0-97b9475985df","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.3151457} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9eb50699-0dd2-4b43-9278-7e489d1cd196","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.315491} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/93773228-20c6-48ea-9942-fb71e2696d87? 200 25ms","method":"GET","requestID":"8927f0c0-0d22-11ef-9118-35435c36490d","responseTime":25,"status":200,"url":"/devices/93773228-20c6-48ea-9942-fb71e2696d87?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca? 200 28ms","method":"GET","requestID":"8927a2a0-0d22-11ef-9118-35435c36490d","responseTime":28,"status":200,"url":"/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca?"} 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":"b79d2a845abcc61c197e1b4d202e1043"},"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:52962","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93773228-20c6-48ea-9942-fb71e2696d87","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a8d2e1ab-6fdb-494f-84da-fb2a27b9589b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.319215} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.774225,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"892b2510-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/93773228-20c6-48ea-9942-fb71e2696d87/signaling 200 12ms","method":"POST","requestID":"892b2510-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/93773228-20c6-48ea-9942-fb71e2696d87/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12ff36fd-0e04-4ea4-8d30-6c8742278223","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.326539} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.274851,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","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/ba7bf4c9-b8d8-456c-9565-566abb8159bd","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"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":"892c5d90-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} gateway-1 | {"time_local":"08/May/2024:10:05:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.129","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b79d2a845abcc61c197e1b4d202e1043"} experiment-1 | {"level":"info","message":"POST /experiments? 201 125ms","method":"POST","requestID":"b79d2a845abcc61c197e1b4d202e1043","responseTime":125,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca/signaling 200 11ms","method":"POST","requestID":"892c5d90-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7bf9a315c00a96544b4dfd816357da5b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.639732,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162745,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q"} 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":"7bf9a315c00a96544b4dfd816357da5b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93773228-20c6-48ea-9942-fb71e2696d87","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"705b4a6b-5aef-4993-9355-1febe61db970","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.3386564} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.283787,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"892e5960-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:43.127693020Z"}]},"request_id":"21075616-e81a-475d-93a1-5b0a0439efde","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.3434768} device-1 | {"level":"info","message":"POST /devices/93773228-20c6-48ea-9942-fb71e2696d87/signaling 200 10ms","method":"POST","requestID":"892e5960-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/93773228-20c6-48ea-9942-fb71e2696d87/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":"7bf9a315c00a96544b4dfd816357da5b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"aaa7ee6b-4822-4fc0-b544-fdd7ccf0ea5c"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"34ec4e82-104c-49da-b5c8-c0f4ad12461e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"52eb026c-2b3a-4c69-98ca-8dbbeedf9397"}]},"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/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7bf9a315c00a96544b4dfd816357da5b"} device-1 | {"level":"info","message":"GET /devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca? 200 13ms","method":"GET","requestID":"7bf9a315c00a96544b4dfd816357da5b","responseTime":13,"status":200,"url":"/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca?"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.969097,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162745,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q","level":"info","message":"auth send jwt"} 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":"89305530-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"32f44982970b4c1f93071073707714aa","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.963208,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162745,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32f44982970b4c1f93071073707714aa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93773228-20c6-48ea-9942-fb71e2696d87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93773228-20c6-48ea-9942-fb71e2696d87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:43.178730349Z"}]},"request_id":"fc1d0d0e-0dd6-4034-a505-7398d0b2b65a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.3637023} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32f44982970b4c1f93071073707714aa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"bd20fb71-74c5-4742-a7c2-939b1b3ac19e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.364979} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"79d09e2c-d33e-4492-b1ea-9b4e8c66bf79","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.365172} 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":"89305530-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/93773228-20c6-48ea-9942-fb71e2696d87? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"32f44982970b4c1f93071073707714aa"} device-1 | {"level":"info","message":"GET /devices/93773228-20c6-48ea-9942-fb71e2696d87? 200 14ms","method":"GET","requestID":"32f44982970b4c1f93071073707714aa","responseTime":14,"status":200,"url":"/devices/93773228-20c6-48ea-9942-fb71e2696d87?"} 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/c4ff16ad-1646-44c8-bbb3-a1201c92554f'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c4ff16ad-1646-44c8-bbb3-a1201c92554f'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 41ms","method":"POST","requestID":"89305530-0d22-11ef-9118-35435c36490d","responseTime":41,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"32b78bf2-4530-4b83-8fa9-ee5d4523ed44","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.4230945} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.776735,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"893b2aa0-0d22-11ef-9118-35435c36490d"},"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/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca/signaling 200 9ms","method":"POST","requestID":"893b2aa0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93773228-20c6-48ea-9942-fb71e2696d87","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3ea1fb7-f2cb-49be-ba71-269325c1d9cf","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.4337761} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.244008,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","object_type":"device","rebac_allow":false,"scope_allow":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":"893cd850-0d22-11ef-9118-35435c36490d"},"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/93773228-20c6-48ea-9942-fb71e2696d87/signaling 200 9ms","method":"POST","requestID":"893cd850-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/93773228-20c6-48ea-9942-fb71e2696d87/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/c4ff16ad-1646-44c8-bbb3-a1201c92554f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c4ff16ad-1646-44c8-bbb3-a1201c92554f","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":"3cdc79c9e4c352ca45678aaaac592cae","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/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c4ff16ad-1646-44c8-bbb3-a1201c92554f"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"3cdc79c9e4c352ca45678aaaac592cae","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05: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.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"3cdc79c9e4c352ca45678aaaac592cae"} device-1 | {"data":{"peerconnection":"c4ff16ad-1646-44c8-bbb3-a1201c92554f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c4ff16ad-1646-44c8-bbb3-a1201c92554f","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/c4ff16ad-1646-44c8-bbb3-a1201c92554f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c4ff16ad-1646-44c8-bbb3-a1201c92554f","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":"c8412030dfbb81804bc306b1a1da2bb1","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/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c4ff16ad-1646-44c8-bbb3-a1201c92554f"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc4ff16ad-1646-44c8-bbb3-a1201c92554f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b4555582-9a84-4792-936d-e32e3bee98d4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.5461328} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.595844,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c4ff16ad-1646-44c8-bbb3-a1201c92554f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c4ff16ad-1646-44c8-bbb3-a1201c92554f","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":"894def50-0d22-11ef-9118-35435c36490d"},"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/c4ff16ad-1646-44c8-bbb3-a1201c92554f 200 11ms","method":"GET","requestID":"894def50-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/peerconnections/c4ff16ad-1646-44c8-bbb3-a1201c92554f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"c8412030dfbb81804bc306b1a1da2bb1","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05: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.045","http_referrer":"","http_user_agent":"node-fetch","requestID":"c8412030dfbb81804bc306b1a1da2bb1"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6d87f92-9da5-4f33-b689-e002afeb6875","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.5812569} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.064191,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","object_type":"device","rebac_allow":false,"scope_allow":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":"89534680-0d22-11ef-9118-35435c36490d"},"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/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca/signaling 200 11ms","method":"POST","requestID":"89534680-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93773228-20c6-48ea-9942-fb71e2696d87","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf83d41e-0ada-47db-8221-61e525d7764e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.5975964} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.905366,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","object_type":"device","rebac_allow":false,"scope_allow":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":"8955b780-0d22-11ef-9118-35435c36490d"},"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/93773228-20c6-48ea-9942-fb71e2696d87/signaling 200 10ms","method":"POST","requestID":"8955b780-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/93773228-20c6-48ea-9942-fb71e2696d87/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8c7218a5d56687409865bf71102caad3","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.696031,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162745,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q"} 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":"8c7218a5d56687409865bf71102caad3"},"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/ba7bf4c9-b8d8-456c-9565-566abb8159bd"} gateway-1 | {"time_local":"08/May/2024:10:05:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8c7218a5d56687409865bf71102caad3"} experiment-1 | {"level":"info","message":"GET /experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd 200 12ms","method":"GET","requestID":"8c7218a5d56687409865bf71102caad3","responseTime":12,"status":200,"url":"/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"882e949499d43ad0ccd681428eb954c8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.904936,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162745,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q"} 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":"882e949499d43ad0ccd681428eb954c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.465347,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c4ff16ad-1646-44c8-bbb3-a1201c92554f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/c4ff16ad-1646-44c8-bbb3-a1201c92554f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162745,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q"} 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":"89746310-0d22-11ef-9118-35435c36490d"},"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/c4ff16ad-1646-44c8-bbb3-a1201c92554f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c4ff16ad-1646-44c8-bbb3-a1201c92554f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c4ff16ad-1646-44c8-bbb3-a1201c92554f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc4ff16ad-1646-44c8-bbb3-a1201c92554f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc4ff16ad-1646-44c8-bbb3-a1201c92554f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"d6164fee-2c96-4446-b88a-702d4a9ceee1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.810305} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20a9669f-a6f8-405e-88d3-3b4e65c8740b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.8106325} 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":"89746310-0d22-11ef-9118-35435c36490d"},"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)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b30bd55c6f6d37fda9d84676754630f1","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":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c4ff16ad-1646-44c8-bbb3-a1201c92554f"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e7667b76780849513c231d3a83f316bb","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":"closed","url":"http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c4ff16ad-1646-44c8-bbb3-a1201c92554f"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/c4ff16ad-1646-44c8-bbb3-a1201c92554f 204 31ms","method":"DELETE","requestID":"89746310-0d22-11ef-9118-35435c36490d","responseTime":31,"status":204,"url":"/peerconnections/c4ff16ad-1646-44c8-bbb3-a1201c92554f"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06279678-50ac-4de6-9873-6010c0ddf918","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.851562} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.429214,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"897c5250-0d22-11ef-9118-35435c36490d"},"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/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca/signaling 200 12ms","method":"POST","requestID":"897c5250-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba7bf4c9-b8d8-456c-9565-566abb8159bd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fba7bf4c9-b8d8-456c-9565-566abb8159bd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"aa7ae5ff-2a5f-46d6-898f-e7972e3f67b2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.8575106} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ffa00353-2bd3-475e-b87f-1699425e8d65","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.8578362} 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":"882e949499d43ad0ccd681428eb954c8"},"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:52962","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F93773228-20c6-48ea-9942-fb71e2696d87","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d1607e5-1b23-4f79-bde1-a9eda67921f5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.8652227} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.264103,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"897e9c40-0d22-11ef-9118-35435c36490d"},"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/93773228-20c6-48ea-9942-fb71e2696d87/signaling 200 10ms","method":"POST","requestID":"897e9c40-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/93773228-20c6-48ea-9942-fb71e2696d87/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"} gateway-1 | {"time_local":"08/May/2024:10:05:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"882e949499d43ad0ccd681428eb954c8"} experiment-1 | {"level":"info","message":"DELETE /experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd 204 129ms","method":"DELETE","requestID":"882e949499d43ad0ccd681428eb954c8","responseTime":129,"status":204,"url":"/experiments/ba7bf4c9-b8d8-456c-9565-566abb8159bd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 101ms","method":"POST","requestID":"b30bd55c6f6d37fda9d84676754630f1","responseTime":101,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05: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.104","http_referrer":"","http_user_agent":"node-fetch","requestID":"b30bd55c6f6d37fda9d84676754630f1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 100ms","method":"POST","requestID":"e7667b76780849513c231d3a83f316bb","responseTime":100,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05: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.105","http_referrer":"","http_user_agent":"node-fetch","requestID":"e7667b76780849513c231d3a83f316bb"} gateway-1 | {"time_local":"08/May/2024:10:05:45 +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.766","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7335ca85dd507e77e1ee4317865d9571"} gateway-1 | {"time_local":"08/May/2024:10:05:45 +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.795","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c2ee7fea92fa79f395702a38a55dcf4d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q","level":"info","message":"auth send jwt"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/93773228-20c6-48ea-9942-fb71e2696d87' closed"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"b3efab5b57607ac0f28a30afe6d2745c","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.813598,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162745,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q"} 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":"b3efab5b57607ac0f28a30afe6d2745c"},"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/5fc37396-0ae2-4a10-ae1a-43fa4ecfdfca' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6a618f-e2d2-44ed-908e-2b293ce28a1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b98a1909-c9c8-4022-a71f-589921db3771","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.9475422} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3efab5b57607ac0f28a30afe6d2745c"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e7e5580c-697a-4b66-bb9d-2341cf2febb9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.951745} 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":"b3efab5b57607ac0f28a30afe6d2745c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6a618f-e2d2-44ed-908e-2b293ce28a1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"f14b53c6-e722-4455-9ed7-bcae048a78cc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.963733} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"065ca20b-d7e0-4029-a2a1-44de1cb72b53","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.9639685} 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":"b3efab5b57607ac0f28a30afe6d2745c"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6a618f-e2d2-44ed-908e-2b293ce28a1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6a618f-e2d2-44ed-908e-2b293ce28a1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:45.963709831Z"}]},"request_id":"86d4f54f-d5cd-4995-8ed5-99e405611a34","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.9683735} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3efab5b57607ac0f28a30afe6d2745c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"b3efab5b57607ac0f28a30afe6d2745c","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/May/2024:10:05:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b3efab5b57607ac0f28a30afe6d2745c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"db580c138e30d886f2a7507489081972","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.738397,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162745,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0NX0.PRfUnHrm6bardckyzt0Ox11Po8xoae_z4U93ONbKj4Q"} 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":"db580c138e30d886f2a7507489081972"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"47daa115-2938-4120-87b2-85191d7ab799","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.9918892} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db580c138e30d886f2a7507489081972"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c22f3e62-48e7-4519-816a-313453173643","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162745.9967241} 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":"db580c138e30d886f2a7507489081972"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"dd4224b3-061c-47f5-a619-42808d9526c9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162746.0055776} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"41067bb7-8f3e-47c1-a91b-36e93e452f9a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162746.0056608} 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":"db580c138e30d886f2a7507489081972"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:46.005556705Z"}]},"request_id":"d8ff0747-1fda-430f-ba90-f7a913c7e15c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162746.0097954} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db580c138e30d886f2a7507489081972"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"db580c138e30d886f2a7507489081972"} device-1 | {"level":"info","message":"POST /devices? 201 36ms","method":"POST","requestID":"db580c138e30d886f2a7507489081972","responseTime":36,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0Nn0.Wuuj05BEpBGXAUJom6lQqRKnTrwTGvyorDqOEyE6A3o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4b6b83b2797b97c1ccb9f576b96a8ab7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.689972,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162746,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0Nn0.Wuuj05BEpBGXAUJom6lQqRKnTrwTGvyorDqOEyE6A3o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4b6b83b2797b97c1ccb9f576b96a8ab7"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:46.005556705Z"}]},"request_id":"3506f3fb-b1ad-45fe-b001-fe9d43d324af","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162746.511952} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4b6b83b2797b97c1ccb9f576b96a8ab7"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae1d8e4a-48aa-4473-8264-f1c233dcccda","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162746.5163555} 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":"4b6b83b2797b97c1ccb9f576b96a8ab7"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:46.005556705Z"}]},"request_id":"cbaaa278-829c-473c-ba43-37023285e789","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162746.5281181} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4b6b83b2797b97c1ccb9f576b96a8ab7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ea7e070f-c058-473f-a137-8a1ed27ccdba HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.034","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4b6b83b2797b97c1ccb9f576b96a8ab7"} device-1 | {"level":"info","message":"PATCH /devices/ea7e070f-c058-473f-a137-8a1ed27ccdba 200 29ms","method":"PATCH","requestID":"4b6b83b2797b97c1ccb9f576b96a8ab7","responseTime":29,"status":200,"url":"/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0Nn0.Wuuj05BEpBGXAUJom6lQqRKnTrwTGvyorDqOEyE6A3o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"61b9e36d5a4c4b4afdd2dea5254fca4e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.732773,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162746,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0Nn0.Wuuj05BEpBGXAUJom6lQqRKnTrwTGvyorDqOEyE6A3o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"61b9e36d5a4c4b4afdd2dea5254fca4e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ea7e070f-c058-473f-a137-8a1ed27ccdba/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":"61b9e36d5a4c4b4afdd2dea5254fca4e"} device-1 | {"level":"info","message":"POST /devices/ea7e070f-c058-473f-a137-8a1ed27ccdba/websocket 200 14ms","method":"POST","requestID":"61b9e36d5a4c4b4afdd2dea5254fca4e","responseTime":14,"status":200,"url":"/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba' 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 0ms","method":"GET","requestID":"b3a4997d648123237c56e77a2963268b","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:05:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a/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":"b3a4997d648123237c56e77a2963268b"} device-1 | {"level":"info","message":"OPTIONS /devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a/websocket 200 0ms","method":"OPTIONS","requestID":"b3a4997d648123237c56e77a2963268b","responseTime":0,"status":200,"url":"/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0N30.8tu-AnBUYrZ3aR3Q4qmTjdJXdwKkQ6Y9h44A0KITFGM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1358221df447e7c452f2605440f8b3d6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.705288,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:47Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162747,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0N30.8tu-AnBUYrZ3aR3Q4qmTjdJXdwKkQ6Y9h44A0KITFGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1358221df447e7c452f2605440f8b3d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a/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":"1358221df447e7c452f2605440f8b3d6"} device-1 | {"level":"info","message":"POST /devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a/websocket 200 19ms","method":"POST","requestID":"1358221df447e7c452f2605440f8b3d6","responseTime":19,"status":200,"url":"/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0N30.8tu-AnBUYrZ3aR3Q4qmTjdJXdwKkQ6Y9h44A0KITFGM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"17d0dce3ba64094ce4ae4639d0de0970","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.652633,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162747,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0N30.8tu-AnBUYrZ3aR3Q4qmTjdJXdwKkQ6Y9h44A0KITFGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17d0dce3ba64094ce4ae4639d0de0970"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6a618f-e2d2-44ed-908e-2b293ce28a1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6a618f-e2d2-44ed-908e-2b293ce28a1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:45.963709831Z"}]},"request_id":"1587d495-364f-48e7-a8aa-0166c46f754e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162747.9588013} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17d0dce3ba64094ce4ae4639d0de0970"},"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/7e6a618f-e2d2-44ed-908e-2b293ce28a1a? 200 12ms","method":"GET","requestID":"17d0dce3ba64094ce4ae4639d0de0970","responseTime":12,"status":200,"url":"/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a?"} gateway-1 | {"time_local":"08/May/2024:10:05:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"17d0dce3ba64094ce4ae4639d0de0970"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0N30.8tu-AnBUYrZ3aR3Q4qmTjdJXdwKkQ6Y9h44A0KITFGM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d5374d2fbca7f3c480d6de7ffbc9a4ea","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65211,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162747,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0N30.8tu-AnBUYrZ3aR3Q4qmTjdJXdwKkQ6Y9h44A0KITFGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5374d2fbca7f3c480d6de7ffbc9a4ea"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:46.005556705Z"}]},"request_id":"0f7409bc-8298-432b-88d8-d69c9d94cb7e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162747.974622} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d5374d2fbca7f3c480d6de7ffbc9a4ea"},"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/ea7e070f-c058-473f-a137-8a1ed27ccdba? 200 11ms","method":"GET","requestID":"d5374d2fbca7f3c480d6de7ffbc9a4ea","responseTime":11,"status":200,"url":"/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba?"} gateway-1 | {"time_local":"08/May/2024:10:05:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ea7e070f-c058-473f-a137-8a1ed27ccdba? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d5374d2fbca7f3c480d6de7ffbc9a4ea"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0N30.8tu-AnBUYrZ3aR3Q4qmTjdJXdwKkQ6Y9h44A0KITFGM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"246d2f5c87cf17b0c6d54e46b4010564","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:52962","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.644644,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162747,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0N30.8tu-AnBUYrZ3aR3Q4qmTjdJXdwKkQ6Y9h44A0KITFGM"} 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":"246d2f5c87cf17b0c6d54e46b4010564"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"},"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:52962","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.909491,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162747,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0N30.8tu-AnBUYrZ3aR3Q4qmTjdJXdwKkQ6Y9h44A0KITFGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ac96bc0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685019,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162747,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0N30.8tu-AnBUYrZ3aR3Q4qmTjdJXdwKkQ6Y9h44A0KITFGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ac992d0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6a618f-e2d2-44ed-908e-2b293ce28a1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6a618f-e2d2-44ed-908e-2b293ce28a1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:45.963709831Z"}]},"request_id":"abdcacf3-9d2c-45cc-be30-70b023049a8c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162748.0361335} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ac96bc0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:46.005556705Z"}]},"request_id":"52316c12-2bb9-4d80-9df0-6013cd5eff56","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162748.0371745} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ac992d0-0d22-11ef-9118-35435c36490d"},"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/7e6a618f-e2d2-44ed-908e-2b293ce28a1a? 200 14ms","method":"GET","requestID":"8ac96bc0-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ea7e070f-c058-473f-a137-8a1ed27ccdba? 200 14ms","method":"GET","requestID":"8ac992d0-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"},"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:52962","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:48Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.293078,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:48Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162747,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0N30.8tu-AnBUYrZ3aR3Q4qmTjdJXdwKkQ6Y9h44A0KITFGM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ad1f740-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.040173,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162747,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0N30.8tu-AnBUYrZ3aR3Q4qmTjdJXdwKkQ6Y9h44A0KITFGM"} 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":"8ad24560-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.751328,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6a618f-e2d2-44ed-908e-2b293ce28a1a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f4870af9-e651-42fe-8af1-9a2129e673a2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162748.0954695} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ad29380-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6a618f-e2d2-44ed-908e-2b293ce28a1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6a618f-e2d2-44ed-908e-2b293ce28a1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:45.963709831Z"}]},"request_id":"c45b787a-1df8-4e25-a060-a7c6178785aa","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162748.096811} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ad1f740-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:46.005556705Z"}]},"request_id":"464d7dde-db63-436a-a2ef-ba66700f8e98","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162748.0998993} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ad24560-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc4066446-56d2-4174-b7e1-f2d9fddbe363#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc4066446-56d2-4174-b7e1-f2d9fddbe363","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"fe05b10e-3308-4035-9fd7-efc230574f56","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162748.1035554} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f7a2eb8-1b20-4e97-893f-fb92e37aef8d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162748.1039095} 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":"246d2f5c87cf17b0c6d54e46b4010564"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a/signaling 200 19ms","method":"POST","requestID":"8ad29380-0d22-11ef-9118-35435c36490d","responseTime":19,"status":200,"url":"/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a? 200 25ms","method":"GET","requestID":"8ad1f740-0d22-11ef-9118-35435c36490d","responseTime":25,"status":200,"url":"/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ea7e070f-c058-473f-a137-8a1ed27ccdba? 200 24ms","method":"GET","requestID":"8ad24560-0d22-11ef-9118-35435c36490d","responseTime":24,"status":200,"url":"/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:48Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2562328-7d36-451b-a68b-41ea5640e727","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162748.1151276} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.523982,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:48Z"} gateway-1 | {"time_local":"08/May/2024:10:05:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"246d2f5c87cf17b0c6d54e46b4010564"} experiment-1 | {"level":"info","message":"POST /experiments? 201 134ms","method":"POST","requestID":"246d2f5c87cf17b0c6d54e46b4010564","responseTime":134,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","object_type":"device","rebac_allow":false,"scope_allow":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":"8ad5eee0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6a618f-e2d2-44ed-908e-2b293ce28a1a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"189910b3-8eb8-4e12-ba1b-fad34433a7cc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162748.1185322} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.668639,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0OH0.NwwdY4Y6DDfJu4M1t_sYRI0TS1gugtMMjNiDmvLEOS8","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":"8ad66410-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"POST /devices/ea7e070f-c058-473f-a137-8a1ed27ccdba/signaling 200 11ms","method":"POST","requestID":"8ad5eee0-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7d8550c04b9a712fba18992114240bee","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/7e6a618f-e2d2-44ed-908e-2b293ce28a1a/signaling 200 12ms","method":"POST","requestID":"8ad66410-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.792904,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162748,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0OH0.NwwdY4Y6DDfJu4M1t_sYRI0TS1gugtMMjNiDmvLEOS8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d8550c04b9a712fba18992114240bee"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6a618f-e2d2-44ed-908e-2b293ce28a1a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6a618f-e2d2-44ed-908e-2b293ce28a1a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:45.963709831Z"}]},"request_id":"66123868-ab52-4a33-8580-fa800f3c4000","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162748.1329825} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"833ec501-9457-4a26-a211-8ace19f1e580","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162748.133132} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d8550c04b9a712fba18992114240bee"},"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:52962","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.601337,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","object_type":"device","rebac_allow":false,"scope_allow":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":"8ad8ae00-0d22-11ef-9118-35435c36490d"},"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":"08/May/2024:10:05:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d8550c04b9a712fba18992114240bee"} device-1 | {"level":"info","message":"GET /devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a? 200 15ms","method":"GET","requestID":"7d8550c04b9a712fba18992114240bee","responseTime":15,"status":200,"url":"/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ea7e070f-c058-473f-a137-8a1ed27ccdba/signaling 200 11ms","method":"POST","requestID":"8ad8ae00-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"3a728c3d-6d62-4049-8777-f9b8d4f339f9"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"9f578b75-e3cd-4dd3-9d5d-b183e6ea62c3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"9a7d25b3-0ae0-4652-b374-8a84997877d5"}]},"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/7e6a618f-e2d2-44ed-908e-2b293ce28a1a"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0OH0.NwwdY4Y6DDfJu4M1t_sYRI0TS1gugtMMjNiDmvLEOS8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3e2b67d49962819d0cf5dc7247649280","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.951444,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162747,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0N30.8tu-AnBUYrZ3aR3Q4qmTjdJXdwKkQ6Y9h44A0KITFGM"} 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":"8adad0e0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"client_addr":"127.0.0.1:47898","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.771556,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162748,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc0OH0.NwwdY4Y6DDfJu4M1t_sYRI0TS1gugtMMjNiDmvLEOS8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e2b67d49962819d0cf5dc7247649280"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:46.005556705Z"}]},"request_id":"c7d0fe26-ff56-49e5-958a-454d926d402c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162748.1523144} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e2b67d49962819d0cf5dc7247649280"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ea7e070f-c058-473f-a137-8a1ed27ccdba? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3e2b67d49962819d0cf5dc7247649280"} device-1 | {"level":"info","message":"GET /devices/ea7e070f-c058-473f-a137-8a1ed27ccdba? 200 11ms","method":"GET","requestID":"3e2b67d49962819d0cf5dc7247649280","responseTime":11,"status":200,"url":"/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"7359327f-ee02-4fc6-abd0-3377dc296729","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162748.1575465} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e013ba0-24e0-45dd-a9cd-f54f61633979","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162748.1577244} 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":"8adad0e0-0d22-11ef-9118-35435c36490d"},"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/69b4067d-bc91-4eea-adad-bd8822fe95cc'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/69b4067d-bc91-4eea-adad-bd8822fe95cc'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 33ms","method":"POST","requestID":"8adad0e0-0d22-11ef-9118-35435c36490d","responseTime":33,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6a618f-e2d2-44ed-908e-2b293ce28a1a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"36cb5761-4829-4fa9-8c77-a32a0aa697a7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162748.227514} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.120277,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ae72cf0-0d22-11ef-9118-35435c36490d"},"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/7e6a618f-e2d2-44ed-908e-2b293ce28a1a/signaling 200 9ms","method":"POST","requestID":"8ae72cf0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80685fb0-1e2b-4000-a463-371590fb7182","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162748.238843} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.186944,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ae8daa0-0d22-11ef-9118-35435c36490d"},"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/ea7e070f-c058-473f-a137-8a1ed27ccdba/signaling 200 9ms","method":"POST","requestID":"8ae8daa0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba/signaling"} device-1 | {"data":{"peerconnection":"69b4067d-bc91-4eea-adad-bd8822fe95cc","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/69b4067d-bc91-4eea-adad-bd8822fe95cc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"69b4067d-bc91-4eea-adad-bd8822fe95cc","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/7e6a618f-e2d2-44ed-908e-2b293ce28a1a'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"27a7cbb5b4f0f5a53b2eec750669b189","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/7e6a618f-e2d2-44ed-908e-2b293ce28a1a"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/69b4067d-bc91-4eea-adad-bd8822fe95cc"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"27a7cbb5b4f0f5a53b2eec750669b189","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch","requestID":"27a7cbb5b4f0f5a53b2eec750669b189"} device-1 | {"data":{"peerconnection":"69b4067d-bc91-4eea-adad-bd8822fe95cc","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"69b4067d-bc91-4eea-adad-bd8822fe95cc","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/69b4067d-bc91-4eea-adad-bd8822fe95cc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"69b4067d-bc91-4eea-adad-bd8822fe95cc","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":"498afa2b08a82df32f8e7c3f4f8fb1f0","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/7e6a618f-e2d2-44ed-908e-2b293ce28a1a"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/69b4067d-bc91-4eea-adad-bd8822fe95cc"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F69b4067d-bc91-4eea-adad-bd8822fe95cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bfe75f44-e0a1-402d-b559-9fa9f3e0afa7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162750.3621268} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.94842,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/69b4067d-bc91-4eea-adad-bd8822fe95cc","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/69b4067d-bc91-4eea-adad-bd8822fe95cc","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c2ca540-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/69b4067d-bc91-4eea-adad-bd8822fe95cc 200 11ms","method":"GET","requestID":"8c2ca540-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/peerconnections/69b4067d-bc91-4eea-adad-bd8822fe95cc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"498afa2b08a82df32f8e7c3f4f8fb1f0","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"498afa2b08a82df32f8e7c3f4f8fb1f0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6a618f-e2d2-44ed-908e-2b293ce28a1a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1e255216-ed5a-4e94-9106-ae1f45fe82e1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162750.392631} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.587266,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","object_type":"device","rebac_allow":false,"scope_allow":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":"8c316030-0d22-11ef-9118-35435c36490d"},"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/7e6a618f-e2d2-44ed-908e-2b293ce28a1a/signaling 200 11ms","method":"POST","requestID":"8c316030-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1337345d-c88c-4f9d-8b38-77c3412f4de9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162750.4061244} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.893583,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","object_type":"device","rebac_allow":false,"scope_allow":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":"8c338310-0d22-11ef-9118-35435c36490d"},"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/ea7e070f-c058-473f-a137-8a1ed27ccdba/signaling 200 11ms","method":"POST","requestID":"8c338310-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1MH0.8ssapqCYmek4HKxlQOaDtq6CNssyRU5Ua-K4jR23Bp4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7cac3d0c53e4cefe89fc970119c1b6b1","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.696795,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162750,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1MH0.8ssapqCYmek4HKxlQOaDtq6CNssyRU5Ua-K4jR23Bp4"} 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":"7cac3d0c53e4cefe89fc970119c1b6b1"},"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/c4066446-56d2-4174-b7e1-f2d9fddbe363"} gateway-1 | {"time_local":"08/May/2024:10:05:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7cac3d0c53e4cefe89fc970119c1b6b1"} experiment-1 | {"level":"info","message":"GET /experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363 200 11ms","method":"GET","requestID":"7cac3d0c53e4cefe89fc970119c1b6b1","responseTime":11,"status":200,"url":"/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1MH0.8ssapqCYmek4HKxlQOaDtq6CNssyRU5Ua-K4jR23Bp4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1248672177c485ecb63e1c7e613bd42b","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.947979,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162750,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1MH0.8ssapqCYmek4HKxlQOaDtq6CNssyRU5Ua-K4jR23Bp4"} 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":"1248672177c485ecb63e1c7e613bd42b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.656264,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/69b4067d-bc91-4eea-adad-bd8822fe95cc","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/69b4067d-bc91-4eea-adad-bd8822fe95cc","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162750,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1MH0.8ssapqCYmek4HKxlQOaDtq6CNssyRU5Ua-K4jR23Bp4"} 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":"8c5a44f0-0d22-11ef-9118-35435c36490d"},"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/69b4067d-bc91-4eea-adad-bd8822fe95cc' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/69b4067d-bc91-4eea-adad-bd8822fe95cc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"69b4067d-bc91-4eea-adad-bd8822fe95cc","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":"cb8f952e19df27395a6db76635571d2f","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F69b4067d-bc91-4eea-adad-bd8822fe95cc': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F69b4067d-bc91-4eea-adad-bd8822fe95cc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"58ab1525-7d88-477b-92e9-04485cad89a2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162750.6716213} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1309ff9d-c021-40e8-a183-98357aa180eb","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162750.672015} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/7e6a618f-e2d2-44ed-908e-2b293ce28a1a"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/69b4067d-bc91-4eea-adad-bd8822fe95cc"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6119132a5dae0b452ea2ba65d4c7519c","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/7e6a618f-e2d2-44ed-908e-2b293ce28a1a"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/69b4067d-bc91-4eea-adad-bd8822fe95cc"}}},"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":"8c5a44f0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"data":{"peerconnection":"69b4067d-bc91-4eea-adad-bd8822fe95cc","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/69b4067d-bc91-4eea-adad-bd8822fe95cc 204 30ms","method":"DELETE","requestID":"8c5a44f0-0d22-11ef-9118-35435c36490d","responseTime":30,"status":204,"url":"/peerconnections/69b4067d-bc91-4eea-adad-bd8822fe95cc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7e6a618f-e2d2-44ed-908e-2b293ce28a1a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2880a047-052b-440a-8cff-9375448ba8f5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162750.7046328} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.124039,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a","object_type":"device","rebac_allow":false,"scope_allow":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":"8c6122c0-0d22-11ef-9118-35435c36490d"},"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/7e6a618f-e2d2-44ed-908e-2b293ce28a1a/signaling 200 9ms","method":"POST","requestID":"8c6122c0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fea7e070f-c058-473f-a137-8a1ed27ccdba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6546a2d6-47f4-4c55-8cdb-7dfacfd92fa7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162750.7152464} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc4066446-56d2-4174-b7e1-f2d9fddbe363': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc4066446-56d2-4174-b7e1-f2d9fddbe363","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"1e15fc36-cac8-4c33-b81b-2c7c65536c2a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162750.7152588} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1fe0a89e-c214-4c23-a95a-ecd85af0b5a7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162750.71555} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.526103,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba","object_type":"device","rebac_allow":false,"scope_allow":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":"8c62d070-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} 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":"1248672177c485ecb63e1c7e613bd42b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ea7e070f-c058-473f-a137-8a1ed27ccdba/signaling 200 10ms","method":"POST","requestID":"8c62d070-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/ea7e070f-c058-473f-a137-8a1ed27ccdba/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"} gateway-1 | {"time_local":"08/May/2024:10:05:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.132","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1248672177c485ecb63e1c7e613bd42b"} experiment-1 | {"level":"info","message":"DELETE /experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363 204 127ms","method":"DELETE","requestID":"1248672177c485ecb63e1c7e613bd42b","responseTime":127,"status":204,"url":"/experiments/c4066446-56d2-4174-b7e1-f2d9fddbe363"} gateway-1 | {"time_local":"08/May/2024:10:05:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"4.220","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d131e7faf2a1e240ac72580a45a5a865"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 100ms","method":"POST","requestID":"cb8f952e19df27395a6db76635571d2f","responseTime":100,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.104","http_referrer":"","http_user_agent":"node-fetch","requestID":"cb8f952e19df27395a6db76635571d2f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 100ms","method":"POST","requestID":"6119132a5dae0b452ea2ba65d4c7519c","responseTime":100,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.105","http_referrer":"","http_user_agent":"node-fetch","requestID":"6119132a5dae0b452ea2ba65d4c7519c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1MH0.8ssapqCYmek4HKxlQOaDtq6CNssyRU5Ua-K4jR23Bp4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e83c47ee38d0124147b6e76f975fb18f","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/May/2024:10:05:50 +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.847","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0b88a2f79ac9840959bb7b9ad855c179"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.962343,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162750,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1MH0.8ssapqCYmek4HKxlQOaDtq6CNssyRU5Ua-K4jR23Bp4"} 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":"e83c47ee38d0124147b6e76f975fb18f"},"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/ea7e070f-c058-473f-a137-8a1ed27ccdba' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4b61d8ae-5169-4b81-a261-f49a0785bdfb","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162750.7998846} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e83c47ee38d0124147b6e76f975fb18f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7e6a618f-e2d2-44ed-908e-2b293ce28a1a' 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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53fef35b-93bd-4c9b-8c13-14cbe939d5fc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162750.8053713} 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":"e83c47ee38d0124147b6e76f975fb18f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"3495c32f-3de1-4543-bd5a-1415fcb3200a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162750.8180194} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4696df70-fc14-4fd9-a407-fcd6cd57c089","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162750.8182557} 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":"e83c47ee38d0124147b6e76f975fb18f"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:50.817993984Z"}]},"request_id":"54948169-532e-424f-923f-a9bb67dd9878","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162750.823339} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e83c47ee38d0124147b6e76f975fb18f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e83c47ee38d0124147b6e76f975fb18f"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"e83c47ee38d0124147b6e76f975fb18f","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1MH0.8ssapqCYmek4HKxlQOaDtq6CNssyRU5Ua-K4jR23Bp4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ccfcb0330054ca6259143f12b12602a5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.085452,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162750,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1MH0.8ssapqCYmek4HKxlQOaDtq6CNssyRU5Ua-K4jR23Bp4"} 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":"ccfcb0330054ca6259143f12b12602a5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81b93631-53c3-408a-bd08-d72e825228cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c473e298-3258-4f3a-bdfd-cebef20d7c95","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162750.8489332} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ccfcb0330054ca6259143f12b12602a5"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a779a6e-dd1e-4ef1-837d-05848629143f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162750.8544123} 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":"ccfcb0330054ca6259143f12b12602a5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81b93631-53c3-408a-bd08-d72e825228cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"50bddc80-88fe-4a8a-b68a-ce496989e830","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162750.864218} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5fabe668-d782-4d3e-ab49-b4f808953667","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162750.8644958} 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":"ccfcb0330054ca6259143f12b12602a5"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81b93631-53c3-408a-bd08-d72e825228cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81b93631-53c3-408a-bd08-d72e825228cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:50.864188368Z"}]},"request_id":"b373f6a6-f5a0-4efd-90a3-cb518607a780","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162750.8694782} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ccfcb0330054ca6259143f12b12602a5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"ccfcb0330054ca6259143f12b12602a5","responseTime":40,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/May/2024:10:05:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ccfcb0330054ca6259143f12b12602a5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1MX0.sY1Z9fji4faBOISbdP1GSwrB0MQZTssxdQcqgu54mcA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"24f65325a0c426d3351f852cde19ae2c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:51Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.463954,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162751,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1MX0.sY1Z9fji4faBOISbdP1GSwrB0MQZTssxdQcqgu54mcA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24f65325a0c426d3351f852cde19ae2c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:50.817993984Z"}]},"request_id":"263baed2-8a6a-41e7-b23b-e3137386aa24","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162751.4037414} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24f65325a0c426d3351f852cde19ae2c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"64a01e75-38be-4154-848a-3b383c577af5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162751.4090784} 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":"24f65325a0c426d3351f852cde19ae2c"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:50.817993984Z"}]},"request_id":"81b6e1e5-de24-4031-8dca-33cdb1ed5589","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162751.4319935} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"24f65325a0c426d3351f852cde19ae2c"},"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/92851501-8fca-41e1-9436-604453223f9d 200 42ms","method":"PATCH","requestID":"24f65325a0c426d3351f852cde19ae2c","responseTime":42,"status":200,"url":"/devices/92851501-8fca-41e1-9436-604453223f9d"} gateway-1 | {"time_local":"08/May/2024:10:05:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/92851501-8fca-41e1-9436-604453223f9d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"24f65325a0c426d3351f852cde19ae2c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1MX0.sY1Z9fji4faBOISbdP1GSwrB0MQZTssxdQcqgu54mcA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e456e5a470b460ec02adf9cd0310c62b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:51Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.762913,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162751,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1MX0.sY1Z9fji4faBOISbdP1GSwrB0MQZTssxdQcqgu54mcA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e456e5a470b460ec02adf9cd0310c62b"},"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/92851501-8fca-41e1-9436-604453223f9d/websocket 200 13ms","method":"POST","requestID":"e456e5a470b460ec02adf9cd0310c62b","responseTime":13,"status":200,"url":"/devices/92851501-8fca-41e1-9436-604453223f9d/websocket"} gateway-1 | {"time_local":"08/May/2024:10:05:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/92851501-8fca-41e1-9436-604453223f9d/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":"e456e5a470b460ec02adf9cd0310c62b"} device-1 | {"level":"info","message":"device 'http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d' 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":"56d7f3d1338b3ef90b703d1bb4500f7d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:05:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/81b93631-53c3-408a-bd08-d72e825228cd/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":"56d7f3d1338b3ef90b703d1bb4500f7d"} device-1 | {"level":"info","message":"OPTIONS /devices/81b93631-53c3-408a-bd08-d72e825228cd/websocket 200 0ms","method":"OPTIONS","requestID":"56d7f3d1338b3ef90b703d1bb4500f7d","responseTime":0,"status":200,"url":"/devices/81b93631-53c3-408a-bd08-d72e825228cd/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Mn0.fHJhrz6iMnc0NvjtOJt92WoQG_8-otWqf1lLsH7lSGo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fe3326897ec6143a9fbd63cb943e876a","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.230695,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:52Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162752,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Mn0.fHJhrz6iMnc0NvjtOJt92WoQG_8-otWqf1lLsH7lSGo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe3326897ec6143a9fbd63cb943e876a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/81b93631-53c3-408a-bd08-d72e825228cd/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":"fe3326897ec6143a9fbd63cb943e876a"} device-1 | {"level":"info","message":"POST /devices/81b93631-53c3-408a-bd08-d72e825228cd/websocket 200 25ms","method":"POST","requestID":"fe3326897ec6143a9fbd63cb943e876a","responseTime":25,"status":200,"url":"/devices/81b93631-53c3-408a-bd08-d72e825228cd/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Mn0.fHJhrz6iMnc0NvjtOJt92WoQG_8-otWqf1lLsH7lSGo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7429dff2166f14496bee0b0e388cd2cb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.958727,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162752,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Mn0.fHJhrz6iMnc0NvjtOJt92WoQG_8-otWqf1lLsH7lSGo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7429dff2166f14496bee0b0e388cd2cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:50.817993984Z"}]},"request_id":"fe3688d1-5997-4285-a6c4-11f15b8d1676","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162752.8616292} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7429dff2166f14496bee0b0e388cd2cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/92851501-8fca-41e1-9436-604453223f9d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7429dff2166f14496bee0b0e388cd2cb"} device-1 | {"level":"info","message":"GET /devices/92851501-8fca-41e1-9436-604453223f9d? 200 13ms","method":"GET","requestID":"7429dff2166f14496bee0b0e388cd2cb","responseTime":13,"status":200,"url":"/devices/92851501-8fca-41e1-9436-604453223f9d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Mn0.fHJhrz6iMnc0NvjtOJt92WoQG_8-otWqf1lLsH7lSGo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b6cafe15996533c87fb01ce8d40ab507","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.604789,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162752,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Mn0.fHJhrz6iMnc0NvjtOJt92WoQG_8-otWqf1lLsH7lSGo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6cafe15996533c87fb01ce8d40ab507"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81b93631-53c3-408a-bd08-d72e825228cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81b93631-53c3-408a-bd08-d72e825228cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:50.864188368Z"}]},"request_id":"cd255cec-3cd0-4783-87f2-d17b891d1dda","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162752.8780832} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6cafe15996533c87fb01ce8d40ab507"},"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/81b93631-53c3-408a-bd08-d72e825228cd? 200 10ms","method":"GET","requestID":"b6cafe15996533c87fb01ce8d40ab507","responseTime":10,"status":200,"url":"/devices/81b93631-53c3-408a-bd08-d72e825228cd?"} gateway-1 | {"time_local":"08/May/2024:10:05:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/81b93631-53c3-408a-bd08-d72e825228cd? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b6cafe15996533c87fb01ce8d40ab507"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Mn0.fHJhrz6iMnc0NvjtOJt92WoQG_8-otWqf1lLsH7lSGo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c39b54d878b49ffcba39de4098e9d052","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:52962","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.951758,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:52Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162752,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Mn0.fHJhrz6iMnc0NvjtOJt92WoQG_8-otWqf1lLsH7lSGo"} 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":"c39b54d878b49ffcba39de4098e9d052"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"},"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:52962","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.605282,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162752,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Mn0.fHJhrz6iMnc0NvjtOJt92WoQG_8-otWqf1lLsH7lSGo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8db56820-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.912343,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162752,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Mn0.fHJhrz6iMnc0NvjtOJt92WoQG_8-otWqf1lLsH7lSGo"} 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":"8db58f30-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:50.817993984Z"}]},"request_id":"f5cfcf94-e414-4d7c-8eef-a4cd78d0629d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162752.9384181} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8db56820-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81b93631-53c3-408a-bd08-d72e825228cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81b93631-53c3-408a-bd08-d72e825228cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:50.864188368Z"}]},"request_id":"15bce4c5-22dc-42ae-b75d-259909366620","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162752.9421601} 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":"8db58f30-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"GET /devices/92851501-8fca-41e1-9436-604453223f9d? 200 13ms","method":"GET","requestID":"8db56820-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/92851501-8fca-41e1-9436-604453223f9d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/81b93631-53c3-408a-bd08-d72e825228cd? 200 14ms","method":"GET","requestID":"8db58f30-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/81b93631-53c3-408a-bd08-d72e825228cd?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"},"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/e9a08bee-c403-4d4c-be54-1f3bf553d681"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.928673,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162752,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Mn0.fHJhrz6iMnc0NvjtOJt92WoQG_8-otWqf1lLsH7lSGo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8dbda580-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.902463,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162752,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Mn0.fHJhrz6iMnc0NvjtOJt92WoQG_8-otWqf1lLsH7lSGo"} 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":"8dbdf3a0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:52Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.377433,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:52Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e39c2db7-19a3-476b-b695-fc03144fc466","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162752.9941351} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8dbe41c0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81b93631-53c3-408a-bd08-d72e825228cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81b93631-53c3-408a-bd08-d72e825228cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:50.864188368Z"}]},"request_id":"68051a53-35cb-4d08-bb4b-11d6afb7cf3c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162753.003971} device-1 | {"level":"info","message":"POST /devices/92851501-8fca-41e1-9436-604453223f9d/signaling 200 17ms","method":"POST","requestID":"8dbe41c0-0d22-11ef-9118-35435c36490d","responseTime":17,"status":200,"url":"/devices/92851501-8fca-41e1-9436-604453223f9d/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":"8dbdf3a0-0d22-11ef-9118-35435c36490d"},"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 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:50.817993984Z"}]},"request_id":"468bf1f3-2851-4616-ae86-0a9bdb47fa4d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162753.005389} 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":"8dbda580-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe9a08bee-c403-4d4c-be54-1f3bf553d681#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe9a08bee-c403-4d4c-be54-1f3bf553d681","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"3f9109f8-fc24-4217-bf50-ac6edc31deaf","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162753.0084405} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"772c0c11-dd21-4d52-939b-e460a069d278","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162753.0087216} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/81b93631-53c3-408a-bd08-d72e825228cd? 200 25ms","method":"GET","requestID":"8dbdf3a0-0d22-11ef-9118-35435c36490d","responseTime":25,"status":200,"url":"/devices/81b93631-53c3-408a-bd08-d72e825228cd?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c39b54d878b49ffcba39de4098e9d052"},"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:52962","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:53Z"} device-1 | {"level":"info","message":"GET /devices/92851501-8fca-41e1-9436-604453223f9d? 200 29ms","method":"GET","requestID":"8dbda580-0d22-11ef-9118-35435c36490d","responseTime":29,"status":200,"url":"/devices/92851501-8fca-41e1-9436-604453223f9d?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81b93631-53c3-408a-bd08-d72e825228cd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e5c42959-22c4-4a09-941d-dbdc85925eb9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162753.0137305} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.045681,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","object_type":"device","rebac_allow":false,"scope_allow":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":"8dc127f0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:53Z"} device-1 | {"level":"info","message":"POST /devices/81b93631-53c3-408a-bd08-d72e825228cd/signaling 200 15ms","method":"POST","requestID":"8dc127f0-0d22-11ef-9118-35435c36490d","responseTime":15,"status":200,"url":"/devices/81b93631-53c3-408a-bd08-d72e825228cd/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/May/2024:10:05:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c39b54d878b49ffcba39de4098e9d052"} experiment-1 | {"level":"info","message":"POST /experiments? 201 138ms","method":"POST","requestID":"c39b54d878b49ffcba39de4098e9d052","responseTime":138,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d82efe43-a590-41f2-80c3-71fce642632f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162753.0266755} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.473931,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8dc2fcb0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1M30.Y9xI1qJgwgmbu-ORWlOXIZe3038ueO0glFMlTPXjoxU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aa017f8e57bd20fb1f2ce1f865fce274","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/92851501-8fca-41e1-9436-604453223f9d/signaling 200 16ms","method":"POST","requestID":"8dc2fcb0-0d22-11ef-9118-35435c36490d","responseTime":16,"status":200,"url":"/devices/92851501-8fca-41e1-9436-604453223f9d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.916907,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162753,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1M30.Y9xI1qJgwgmbu-ORWlOXIZe3038ueO0glFMlTPXjoxU"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa017f8e57bd20fb1f2ce1f865fce274"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:53Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81b93631-53c3-408a-bd08-d72e825228cd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aa86bd76-3286-45c5-bee9-afc6d46d4469","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162753.0445833} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:50.817993984Z"}]},"request_id":"de52e90d-63d4-4478-992c-ab840c611546","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162753.0454686} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.110856,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","object_type":"device","rebac_allow":false,"scope_allow":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":"8dc609f0-0d22-11ef-9118-35435c36490d"},"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":"aa017f8e57bd20fb1f2ce1f865fce274"},"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/81b93631-53c3-408a-bd08-d72e825228cd/signaling 200 13ms","method":"POST","requestID":"8dc609f0-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/81b93631-53c3-408a-bd08-d72e825228cd/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/92851501-8fca-41e1-9436-604453223f9d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa017f8e57bd20fb1f2ce1f865fce274"} device-1 | {"level":"info","message":"GET /devices/92851501-8fca-41e1-9436-604453223f9d? 200 20ms","method":"GET","requestID":"aa017f8e57bd20fb1f2ce1f865fce274","responseTime":20,"status":200,"url":"/devices/92851501-8fca-41e1-9436-604453223f9d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"00e051a7-2294-44dc-a710-8a2271944857"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"6c864ba7-a982-4337-8593-1175f13b2cc9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"6a5b7ab2-1fe1-4bb0-9c71-5a13af7e8e51"}]},"level":"info","message":"Built pairwise service configurations"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1M30.Y9xI1qJgwgmbu-ORWlOXIZe3038ueO0glFMlTPXjoxU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"544c82473a9e78c2855956ff474a2889","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.858116,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162752,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Mn0.fHJhrz6iMnc0NvjtOJt92WoQG_8-otWqf1lLsH7lSGo"} 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":"8dc8a200-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:53Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.675618,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162753,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1M30.Y9xI1qJgwgmbu-ORWlOXIZe3038ueO0glFMlTPXjoxU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"544c82473a9e78c2855956ff474a2889"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81b93631-53c3-408a-bd08-d72e825228cd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81b93631-53c3-408a-bd08-d72e825228cd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:50.864188368Z"}]},"request_id":"be6022e3-512e-4ae5-aedd-9857530c9ba3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162753.0679598} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"544c82473a9e78c2855956ff474a2889"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/81b93631-53c3-408a-bd08-d72e825228cd? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"544c82473a9e78c2855956ff474a2889"} device-1 | {"level":"info","message":"GET /devices/81b93631-53c3-408a-bd08-d72e825228cd? 200 14ms","method":"GET","requestID":"544c82473a9e78c2855956ff474a2889","responseTime":14,"status":200,"url":"/devices/81b93631-53c3-408a-bd08-d72e825228cd?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"6558abe4-ed0b-4715-889b-98251b977874","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162753.0727575} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f3244eb-fc81-41d0-9fff-27644b2acb7f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162753.072914} 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":"8dc8a200-0d22-11ef-9118-35435c36490d"},"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/26cbdf42-9fb0-4703-96f6-6af12ae28be9'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/26cbdf42-9fb0-4703-96f6-6af12ae28be9'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 27ms","method":"POST","requestID":"8dc8a200-0d22-11ef-9118-35435c36490d","responseTime":27,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:53Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9529e449-609a-45fb-bbe3-d5d624b9ce20","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162753.114958} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.57733,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","object_type":"device","rebac_allow":false,"scope_allow":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":"8dd0df60-0d22-11ef-9118-35435c36490d"},"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/92851501-8fca-41e1-9436-604453223f9d/signaling 200 10ms","method":"POST","requestID":"8dd0df60-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/92851501-8fca-41e1-9436-604453223f9d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:53Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81b93631-53c3-408a-bd08-d72e825228cd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"03c5a88f-1814-47d7-9a74-50e37fb54f91","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162753.1262121} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.569111,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8dd28d10-0d22-11ef-9118-35435c36490d"},"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/81b93631-53c3-408a-bd08-d72e825228cd/signaling 200 8ms","method":"POST","requestID":"8dd28d10-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/81b93631-53c3-408a-bd08-d72e825228cd/signaling"} device-1 | {"data":{"peerconnection":"26cbdf42-9fb0-4703-96f6-6af12ae28be9","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/26cbdf42-9fb0-4703-96f6-6af12ae28be9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"26cbdf42-9fb0-4703-96f6-6af12ae28be9","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":"55b924d712c768d1506373ec9965244d","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/81b93631-53c3-408a-bd08-d72e825228cd"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/26cbdf42-9fb0-4703-96f6-6af12ae28be9"}}},"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/81b93631-53c3-408a-bd08-d72e825228cd'"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"55b924d712c768d1506373ec9965244d","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"55b924d712c768d1506373ec9965244d"} device-1 | {"data":{"peerconnection":"26cbdf42-9fb0-4703-96f6-6af12ae28be9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"26cbdf42-9fb0-4703-96f6-6af12ae28be9","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/26cbdf42-9fb0-4703-96f6-6af12ae28be9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"26cbdf42-9fb0-4703-96f6-6af12ae28be9","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":"f8a3a9072b48596c9e3368e180fefac8","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/81b93631-53c3-408a-bd08-d72e825228cd"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/26cbdf42-9fb0-4703-96f6-6af12ae28be9"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F26cbdf42-9fb0-4703-96f6-6af12ae28be9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9707c60f-9f8e-4b45-82b8-241d96a4fc67","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162755.26353} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.938497,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/26cbdf42-9fb0-4703-96f6-6af12ae28be9","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/26cbdf42-9fb0-4703-96f6-6af12ae28be9","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":"8f18a1a0-0d22-11ef-9118-35435c36490d"},"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/26cbdf42-9fb0-4703-96f6-6af12ae28be9 200 10ms","method":"GET","requestID":"8f18a1a0-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/peerconnections/26cbdf42-9fb0-4703-96f6-6af12ae28be9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"f8a3a9072b48596c9e3368e180fefac8","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch","requestID":"f8a3a9072b48596c9e3368e180fefac8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81b93631-53c3-408a-bd08-d72e825228cd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c321d61-0bbe-41d2-8a49-c1b3c338acbc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162755.2988644} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.496449,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","object_type":"device","rebac_allow":false,"scope_allow":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":"8f1df8d0-0d22-11ef-9118-35435c36490d"},"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/81b93631-53c3-408a-bd08-d72e825228cd/signaling 200 11ms","method":"POST","requestID":"8f1df8d0-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/81b93631-53c3-408a-bd08-d72e825228cd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b396864-693e-4f02-a8db-e5e7301c7356","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162755.3112361} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.509977,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f1ff4a0-0d22-11ef-9118-35435c36490d"},"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/92851501-8fca-41e1-9436-604453223f9d/signaling 200 11ms","method":"POST","requestID":"8f1ff4a0-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/92851501-8fca-41e1-9436-604453223f9d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1NX0.y8_44tSz4A2hUo3q0pLd0cMbgRZM7Lw-fSU_XXKOvOc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"36ba527730b3b705d19a221a66f1df12","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.682387,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162755,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1NX0.y8_44tSz4A2hUo3q0pLd0cMbgRZM7Lw-fSU_XXKOvOc"} 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":"36ba527730b3b705d19a221a66f1df12"},"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/e9a08bee-c403-4d4c-be54-1f3bf553d681"} experiment-1 | {"level":"info","message":"GET /experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681 200 10ms","method":"GET","requestID":"36ba527730b3b705d19a221a66f1df12","responseTime":10,"status":200,"url":"/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"} gateway-1 | {"time_local":"08/May/2024:10:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"36ba527730b3b705d19a221a66f1df12"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1NX0.y8_44tSz4A2hUo3q0pLd0cMbgRZM7Lw-fSU_XXKOvOc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"95f12080287936e33867bce683fdc764","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.680811,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162755,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1NX0.y8_44tSz4A2hUo3q0pLd0cMbgRZM7Lw-fSU_XXKOvOc"} 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":"95f12080287936e33867bce683fdc764"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.723265,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/26cbdf42-9fb0-4703-96f6-6af12ae28be9","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/26cbdf42-9fb0-4703-96f6-6af12ae28be9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162755,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1NX0.y8_44tSz4A2hUo3q0pLd0cMbgRZM7Lw-fSU_XXKOvOc"} 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":"8f3a8180-0d22-11ef-9118-35435c36490d"},"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/26cbdf42-9fb0-4703-96f6-6af12ae28be9' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/26cbdf42-9fb0-4703-96f6-6af12ae28be9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"26cbdf42-9fb0-4703-96f6-6af12ae28be9","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"425d8101-090a-4e05-9b74-5281294ce520","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162755.4965882} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F26cbdf42-9fb0-4703-96f6-6af12ae28be9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F26cbdf42-9fb0-4703-96f6-6af12ae28be9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"13b1e477-a9f9-4c27-96a3-824221873a10","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162755.4967794} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a23c66424d4be1d1fb659caa6e4a1155","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":"a2ea60a1e5f36006826d6bf7ce45bb4d","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/81b93631-53c3-408a-bd08-d72e825228cd"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/26cbdf42-9fb0-4703-96f6-6af12ae28be9"}}},"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/81b93631-53c3-408a-bd08-d72e825228cd"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/26cbdf42-9fb0-4703-96f6-6af12ae28be9"}}},"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":"8f3a8180-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"data":{"peerconnection":"26cbdf42-9fb0-4703-96f6-6af12ae28be9","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/26cbdf42-9fb0-4703-96f6-6af12ae28be9 204 51ms","method":"DELETE","requestID":"8f3a8180-0d22-11ef-9118-35435c36490d","responseTime":51,"status":204,"url":"/peerconnections/26cbdf42-9fb0-4703-96f6-6af12ae28be9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F81b93631-53c3-408a-bd08-d72e825228cd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"68873689-7971-434d-9c92-4e93fc1df237","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162755.5515811} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.450065,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/81b93631-53c3-408a-bd08-d72e825228cd","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f44bab0-0d22-11ef-9118-35435c36490d"},"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/81b93631-53c3-408a-bd08-d72e825228cd/signaling 200 8ms","method":"POST","requestID":"8f44bab0-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/81b93631-53c3-408a-bd08-d72e825228cd/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F92851501-8fca-41e1-9436-604453223f9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d8432a11-fa12-4e08-a69f-2e9dd4e158d3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162755.5618224} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe9a08bee-c403-4d4c-be54-1f3bf553d681': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe9a08bee-c403-4d4c-be54-1f3bf553d681","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"11feb5f2-867b-4658-82a0-b34bd4bf2fcf","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162755.5618467} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d1ba1007-4a2e-4fec-a200-f5765ad9a561","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162755.5623343} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.441683,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/92851501-8fca-41e1-9436-604453223f9d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f464150-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} 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":"95f12080287936e33867bce683fdc764"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/92851501-8fca-41e1-9436-604453223f9d/signaling 200 10ms","method":"POST","requestID":"8f464150-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/92851501-8fca-41e1-9436-604453223f9d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"} gateway-1 | {"time_local":"08/May/2024:10:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"95f12080287936e33867bce683fdc764"} experiment-1 | {"level":"info","message":"DELETE /experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681 204 140ms","method":"DELETE","requestID":"95f12080287936e33867bce683fdc764","responseTime":140,"status":204,"url":"/experiments/e9a08bee-c403-4d4c-be54-1f3bf553d681"} gateway-1 | {"time_local":"08/May/2024:10:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2582","request_time":"4.156","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c7dfa10bd80165cefb5ce4e9d7b4bedc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 116ms","method":"POST","requestID":"a23c66424d4be1d1fb659caa6e4a1155","responseTime":116,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.120","http_referrer":"","http_user_agent":"node-fetch","requestID":"a23c66424d4be1d1fb659caa6e4a1155"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 117ms","method":"POST","requestID":"a2ea60a1e5f36006826d6bf7ce45bb4d","responseTime":117,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.122","http_referrer":"","http_user_agent":"node-fetch","requestID":"a2ea60a1e5f36006826d6bf7ce45bb4d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1NX0.y8_44tSz4A2hUo3q0pLd0cMbgRZM7Lw-fSU_XXKOvOc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"c9ed246da4b3b36b5e5ec096f5c44f52","responseTime":6,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/May/2024:10:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2490","request_time":"2.787","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c065945ef83a899b462e1aa8788cf7a2"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.867871,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162755,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1NX0.y8_44tSz4A2hUo3q0pLd0cMbgRZM7Lw-fSU_XXKOvOc"} 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":"c9ed246da4b3b36b5e5ec096f5c44f52"},"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/92851501-8fca-41e1-9436-604453223f9d' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fb14f864-8542-454b-b8de-07e0d131fff5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162755.6432705} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9ed246da4b3b36b5e5ec096f5c44f52"},"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/81b93631-53c3-408a-bd08-d72e825228cd' 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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c93ab2a8-059f-42b4-a4cf-3971ccdce9d0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162755.650586} 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":"c9ed246da4b3b36b5e5ec096f5c44f52"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"fa6e2a8e-3dd8-4255-9905-3d83bb9ee1dc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162755.661386} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1cc2b2fa-c565-4f91-b55d-a0f8f6e13b2e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162755.6614878} 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":"c9ed246da4b3b36b5e5ec096f5c44f52"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:55.661358307Z"}]},"request_id":"d9e9c1a7-4afa-49ad-9497-a920a65f39f6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162755.666428} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9ed246da4b3b36b5e5ec096f5c44f52"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c9ed246da4b3b36b5e5ec096f5c44f52"} device-1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"c9ed246da4b3b36b5e5ec096f5c44f52","responseTime":49,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1NX0.y8_44tSz4A2hUo3q0pLd0cMbgRZM7Lw-fSU_XXKOvOc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d034011fee4ad8cc3c763cf76e717e3d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.704269,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162755,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1NX0.y8_44tSz4A2hUo3q0pLd0cMbgRZM7Lw-fSU_XXKOvOc"} 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":"d034011fee4ad8cc3c763cf76e717e3d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"34c17dfe-2453-4efc-8bcc-6ab885ad2adc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162755.6934264} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d034011fee4ad8cc3c763cf76e717e3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1d64943-1e02-4731-8c20-891d7a0a4921","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162755.6987414} 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":"d034011fee4ad8cc3c763cf76e717e3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"972f10b4-ad47-4ebe-9460-5c4030420d2e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162755.7078607} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"992b8079-cd91-4d81-a5ec-9a66be6942e5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162755.7082493} 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":"d034011fee4ad8cc3c763cf76e717e3d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:55.707839039Z"}]},"request_id":"f706fa6a-c9d7-4df1-9263-046785e774b3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162755.7126396} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d034011fee4ad8cc3c763cf76e717e3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d034011fee4ad8cc3c763cf76e717e3d"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"d034011fee4ad8cc3c763cf76e717e3d","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4fd53d1ebd498cdebd735fcd5e9b7db9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723466,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162756,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38"} 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":"4fd53d1ebd498cdebd735fcd5e9b7db9"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:55.661358307Z"}]},"request_id":"df88c0ed-e145-4350-8b4a-6c57fe75d93b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.2083392} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4fd53d1ebd498cdebd735fcd5e9b7db9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"628d41a9f46ac6fcbdea3154c957af21","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d43fd201-989a-4c0a-bd95-fde5b9a6d1e5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.2140803} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4fd53d1ebd498cdebd735fcd5e9b7db9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.986512,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162756,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"628d41a9f46ac6fcbdea3154c957af21"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:55.661358307Z"}]},"request_id":"e9fadaab-39bf-4d84-b62e-a9d6004e8e7e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.2422853} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4fd53d1ebd498cdebd735fcd5e9b7db9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:55.707839039Z"}]},"request_id":"7ce2c009-342b-4683-ad86-8461dd5c4dee","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.243211} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"628d41a9f46ac6fcbdea3154c957af21"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} gateway-1 | {"time_local":"08/May/2024:10:05:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.052","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4fd53d1ebd498cdebd735fcd5e9b7db9"} device-1 | {"level":"info","message":"PATCH /devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38 200 47ms","method":"PATCH","requestID":"4fd53d1ebd498cdebd735fcd5e9b7db9","responseTime":47,"status":200,"url":"/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"48dc69d5908210932774b5c61b162ce5","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8475abb-dae6-40e7-9f07-529e7a0874b6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.2494223} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"628d41a9f46ac6fcbdea3154c957af21"},"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:52962","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.639077,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162756,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48dc69d5908210932774b5c61b162ce5"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:55.707839039Z"}]},"request_id":"5fce7da2-76ef-4f8c-9b4a-1a4bc437e890","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.2592342} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"628d41a9f46ac6fcbdea3154c957af21"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e464eb5a-c9c3-4751-a276-904e4e810589 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.055","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"628d41a9f46ac6fcbdea3154c957af21"} device-1 | {"level":"info","message":"PATCH /devices/e464eb5a-c9c3-4751-a276-904e4e810589 200 45ms","method":"PATCH","requestID":"628d41a9f46ac6fcbdea3154c957af21","responseTime":45,"status":200,"url":"/devices/e464eb5a-c9c3-4751-a276-904e4e810589"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1d430a07777df9b4bc41d380676a8d88","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38/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":"48dc69d5908210932774b5c61b162ce5"} device-1 | {"level":"info","message":"POST /devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38/websocket 200 20ms","method":"POST","requestID":"48dc69d5908210932774b5c61b162ce5","responseTime":20,"status":200,"url":"/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38/websocket"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670153,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162756,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d430a07777df9b4bc41d380676a8d88"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e464eb5a-c9c3-4751-a276-904e4e810589/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.014","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1d430a07777df9b4bc41d380676a8d88"} device-1 | {"level":"info","message":"POST /devices/e464eb5a-c9c3-4751-a276-904e4e810589/websocket 200 11ms","method":"POST","requestID":"1d430a07777df9b4bc41d380676a8d88","responseTime":11,"status":200,"url":"/devices/e464eb5a-c9c3-4751-a276-904e4e810589/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2dbb11ccd797b93275bd634cb38d0b33","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.716585,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162756,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2dbb11ccd797b93275bd634cb38d0b33"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:55.661358307Z"}]},"request_id":"ee45ec5e-5430-4f96-9d8a-d2ac96e44c9b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.3035} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2dbb11ccd797b93275bd634cb38d0b33"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2dbb11ccd797b93275bd634cb38d0b33"} device-1 | {"level":"info","message":"GET /devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38? 200 12ms","method":"GET","requestID":"2dbb11ccd797b93275bd634cb38d0b33","responseTime":12,"status":200,"url":"/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"afae27a4e3c566c00d156e82b51535f9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.650257,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162756,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38"} 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":"afae27a4e3c566c00d156e82b51535f9"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:55.707839039Z"}]},"request_id":"277d7dd8-5863-4603-bd2a-29a01f572909","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.3186417} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"afae27a4e3c566c00d156e82b51535f9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e464eb5a-c9c3-4751-a276-904e4e810589? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"afae27a4e3c566c00d156e82b51535f9"} device-1 | {"level":"info","message":"GET /devices/e464eb5a-c9c3-4751-a276-904e4e810589? 200 11ms","method":"GET","requestID":"afae27a4e3c566c00d156e82b51535f9","responseTime":11,"status":200,"url":"/devices/e464eb5a-c9c3-4751-a276-904e4e810589?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"641614180c18a04b2818abc79878e9b6","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:52962","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.390605,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162756,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38"} 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":"641614180c18a04b2818abc79878e9b6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"},"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:52962","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.820266,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162756,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fbfde20-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.88556,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162756,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fc02c40-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:55.661358307Z"}]},"request_id":"970801a5-545e-4488-8a7d-b657876c8a3c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.3625498} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fbfde20-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:55.707839039Z"}]},"request_id":"6d8fe29e-76c4-4c97-8e8b-cbb34cb74b14","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.3632078} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fc02c40-0d22-11ef-9118-35435c36490d"},"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/6dab0f55-7d84-4232-9228-afbb8f5bdc38? 200 14ms","method":"GET","requestID":"8fbfde20-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e464eb5a-c9c3-4751-a276-904e4e810589? 200 12ms","method":"GET","requestID":"8fc02c40-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/e464eb5a-c9c3-4751-a276-904e4e810589?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"},"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/5f84a30f-770b-4abc-956a-2020e2f01b1d"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.688031,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162756,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fc77f40-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.772361,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162756,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38"} 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":"8fc7a650-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d19971ae-4096-48c3-88bd-328a52fb48b7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.4137862} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.284407,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fc7f470-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:55.661358307Z"}]},"request_id":"9b8b3cf7-20f9-4304-85c7-65eb5a31b5dd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.4159634} 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":"8fc77f40-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"POST /devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38/signaling 200 12ms","method":"POST","requestID":"8fc7f470-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38/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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:55.707839039Z"}]},"request_id":"1d6fedc1-7425-45ee-95d7-366656a48319","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.41873} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fc7a650-0d22-11ef-9118-35435c36490d"},"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":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5f84a30f-770b-4abc-956a-2020e2f01b1d#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5f84a30f-770b-4abc-956a-2020e2f01b1d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"35cea480-83a7-435b-b5c6-658cb96783bc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.423352} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0e176be9-bf04-4d5c-afa8-51254f3c7f59","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.4236734} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e464eb5a-c9c3-4751-a276-904e4e810589? 200 21ms","method":"GET","requestID":"8fc7a650-0d22-11ef-9118-35435c36490d","responseTime":21,"status":200,"url":"/devices/e464eb5a-c9c3-4751-a276-904e4e810589?"} 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":"641614180c18a04b2818abc79878e9b6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"08682850-2757-4838-92cd-83290be253e3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.4266596} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} device-1 | {"level":"info","message":"GET /devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38? 200 23ms","method":"GET","requestID":"8fc77f40-0d22-11ef-9118-35435c36490d","responseTime":23,"status":200,"url":"/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38?"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.108538,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fca3e60-0d22-11ef-9118-35435c36490d"},"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/e464eb5a-c9c3-4751-a276-904e4e810589/signaling 200 10ms","method":"POST","requestID":"8fca3e60-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/e464eb5a-c9c3-4751-a276-904e4e810589/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/May/2024:10:05:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.113","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"641614180c18a04b2818abc79878e9b6"} experiment-1 | {"level":"info","message":"POST /experiments? 201 110ms","method":"POST","requestID":"641614180c18a04b2818abc79878e9b6","responseTime":110,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d3abbb13-0793-4d6d-91cd-ff2756fc0eb5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.4365125} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.460582,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fcbc500-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"de0c378126f2ad25a0d21d4dda22096e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38/signaling 200 10ms","method":"POST","requestID":"8fcbc500-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.702258,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162756,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de0c378126f2ad25a0d21d4dda22096e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"37e496bc-3c5a-4f99-9bc7-fb3488956b39","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.4507594} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:55.661358307Z"}]},"request_id":"d07fdf39-a522-45b5-8a32-3bb096af926e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.4511633} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de0c378126f2ad25a0d21d4dda22096e"},"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:52962","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.431889,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fcd99c0-0d22-11ef-9118-35435c36490d"},"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":"08/May/2024:10:05:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"de0c378126f2ad25a0d21d4dda22096e"} device-1 | {"level":"info","message":"GET /devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38? 200 15ms","method":"GET","requestID":"de0c378126f2ad25a0d21d4dda22096e","responseTime":15,"status":200,"url":"/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/e464eb5a-c9c3-4751-a276-904e4e810589/signaling 200 15ms","method":"POST","requestID":"8fcd99c0-0d22-11ef-9118-35435c36490d","responseTime":15,"status":200,"url":"/devices/e464eb5a-c9c3-4751-a276-904e4e810589/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"c27d9b49-30bb-4087-b83f-fab14a56a196"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"b024c9c5-d2a3-41a0-9979-5303da5da29f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"92aef736-ec35-4509-ac58-29a7c5c69416"}]},"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/6dab0f55-7d84-4232-9228-afbb8f5bdc38"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aaf77d3209127dc0da11a893e46bfdd9","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:52962","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.645961,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162756,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38"} 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":"8fd07ff0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.341796,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162756,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1Nn0.3LZiiaguKSF2ndo7g3zkCzqXkWo7Etuz5aUrDBcKu38"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aaf77d3209127dc0da11a893e46bfdd9"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:55.707839039Z"}]},"request_id":"185cc7ef-d561-4df0-afe5-7323ec3b70b5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.4720469} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aaf77d3209127dc0da11a893e46bfdd9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e464eb5a-c9c3-4751-a276-904e4e810589? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aaf77d3209127dc0da11a893e46bfdd9"} device-1 | {"level":"info","message":"GET /devices/e464eb5a-c9c3-4751-a276-904e4e810589? 200 11ms","method":"GET","requestID":"aaf77d3209127dc0da11a893e46bfdd9","responseTime":11,"status":200,"url":"/devices/e464eb5a-c9c3-4751-a276-904e4e810589?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"ca59a7ed-8e21-4a4d-b64c-73e7a0a132f2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.476124} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f0b36b29-f79d-4f2f-8dac-fe795c0f0844","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.4763467} 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":"8fd07ff0-0d22-11ef-9118-35435c36490d"},"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/a0a6a07d-e8ee-43c8-8586-b8bb768aed2d'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a0a6a07d-e8ee-43c8-8586-b8bb768aed2d'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 32ms","method":"POST","requestID":"8fd07ff0-0d22-11ef-9118-35435c36490d","responseTime":32,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f5156c00-c12e-4f39-8a73-c7bc138f76f9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.5268383} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.541614,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fd980a0-0d22-11ef-9118-35435c36490d"},"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/6dab0f55-7d84-4232-9228-afbb8f5bdc38/signaling 200 9ms","method":"POST","requestID":"8fd980a0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e85e824-b809-47d3-9064-c3bf1c036740","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162756.5374835} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.478523,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fdb2e50-0d22-11ef-9118-35435c36490d"},"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/e464eb5a-c9c3-4751-a276-904e4e810589/signaling 200 9ms","method":"POST","requestID":"8fdb2e50-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/e464eb5a-c9c3-4751-a276-904e4e810589/signaling"} device-1 | {"data":{"peerconnection":"a0a6a07d-e8ee-43c8-8586-b8bb768aed2d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"a0a6a07d-e8ee-43c8-8586-b8bb768aed2d","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/a0a6a07d-e8ee-43c8-8586-b8bb768aed2d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a0a6a07d-e8ee-43c8-8586-b8bb768aed2d","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":"57fdcc6bda6fde8bf2f48e31bcaabb8d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a0a6a07d-e8ee-43c8-8586-b8bb768aed2d"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"57fdcc6bda6fde8bf2f48e31bcaabb8d","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05: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.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"57fdcc6bda6fde8bf2f48e31bcaabb8d"} device-1 | {"data":{"peerconnection":"a0a6a07d-e8ee-43c8-8586-b8bb768aed2d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"a0a6a07d-e8ee-43c8-8586-b8bb768aed2d","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/a0a6a07d-e8ee-43c8-8586-b8bb768aed2d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a0a6a07d-e8ee-43c8-8586-b8bb768aed2d","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":"4d1e9e97f15dcc88e233f9503293a193","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/6dab0f55-7d84-4232-9228-afbb8f5bdc38"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a0a6a07d-e8ee-43c8-8586-b8bb768aed2d"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:58Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa0a6a07d-e8ee-43c8-8586-b8bb768aed2d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"42e537cb-96df-4c44-807e-83a94302eb75","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162758.6213765} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.33716,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a0a6a07d-e8ee-43c8-8586-b8bb768aed2d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a0a6a07d-e8ee-43c8-8586-b8bb768aed2d","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9118de70-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"GET /peerconnections/a0a6a07d-e8ee-43c8-8586-b8bb768aed2d 200 12ms","method":"GET","requestID":"9118de70-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/peerconnections/a0a6a07d-e8ee-43c8-8586-b8bb768aed2d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 38ms","method":"POST","requestID":"4d1e9e97f15dcc88e233f9503293a193","responseTime":38,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05: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.042","http_referrer":"","http_user_agent":"node-fetch","requestID":"4d1e9e97f15dcc88e233f9503293a193"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:58Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"973fc060-ee42-427e-ae62-ab3f0c29f517","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162758.6529062} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.005194,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","object_type":"device","rebac_allow":false,"scope_allow":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":"911dc070-0d22-11ef-9118-35435c36490d"},"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/6dab0f55-7d84-4232-9228-afbb8f5bdc38/signaling 200 12ms","method":"POST","requestID":"911dc070-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:58Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e2b52dc5-5c7a-4491-a7d8-6bd91f3e4a41","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162758.6675756} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.754436,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"91200a60-0d22-11ef-9118-35435c36490d"},"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/e464eb5a-c9c3-4751-a276-904e4e810589/signaling 200 11ms","method":"POST","requestID":"91200a60-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/e464eb5a-c9c3-4751-a276-904e4e810589/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1OH0.YZSyamdNPuf9MSjNxQCEM42kj9l4OxN7wNgg1MNM_MU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6041847a5c0c65deadb8be8ca0694da8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:58Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.642597,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162758,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1OH0.YZSyamdNPuf9MSjNxQCEM42kj9l4OxN7wNgg1MNM_MU"} 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":"6041847a5c0c65deadb8be8ca0694da8"},"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/5f84a30f-770b-4abc-956a-2020e2f01b1d"} gateway-1 | {"time_local":"08/May/2024:10:05:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6041847a5c0c65deadb8be8ca0694da8"} experiment-1 | {"level":"info","message":"GET /experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d 200 9ms","method":"GET","requestID":"6041847a5c0c65deadb8be8ca0694da8","responseTime":9,"status":200,"url":"/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1OH0.YZSyamdNPuf9MSjNxQCEM42kj9l4OxN7wNgg1MNM_MU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bd43c7ace7390652eabfe1a675d807a1","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:58Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.728526,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:58Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162758,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1OH0.YZSyamdNPuf9MSjNxQCEM42kj9l4OxN7wNgg1MNM_MU"} 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":"bd43c7ace7390652eabfe1a675d807a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:58Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.909353,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:58Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a0a6a07d-e8ee-43c8-8586-b8bb768aed2d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/a0a6a07d-e8ee-43c8-8586-b8bb768aed2d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162758,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1OH0.YZSyamdNPuf9MSjNxQCEM42kj9l4OxN7wNgg1MNM_MU"} 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":"91395ec0-0d22-11ef-9118-35435c36490d"},"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/a0a6a07d-e8ee-43c8-8586-b8bb768aed2d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a0a6a07d-e8ee-43c8-8586-b8bb768aed2d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"a0a6a07d-e8ee-43c8-8586-b8bb768aed2d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa0a6a07d-e8ee-43c8-8586-b8bb768aed2d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa0a6a07d-e8ee-43c8-8586-b8bb768aed2d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"41581529-80e6-4a9a-a506-aa95636d5222","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162758.8454611} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"480d5028-e2d1-402d-bab8-65bba50424f9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162758.84573} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b1f83a6b700146476b95f40b5f2070b9","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":"91395ec0-0d22-11ef-9118-35435c36490d"},"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":"aa683c6e5346371612719b5f8449287f","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a0a6a07d-e8ee-43c8-8586-b8bb768aed2d"}}},"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/6dab0f55-7d84-4232-9228-afbb8f5bdc38"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a0a6a07d-e8ee-43c8-8586-b8bb768aed2d"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"a0a6a07d-e8ee-43c8-8586-b8bb768aed2d","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/a0a6a07d-e8ee-43c8-8586-b8bb768aed2d 204 45ms","method":"DELETE","requestID":"91395ec0-0d22-11ef-9118-35435c36490d","responseTime":45,"status":204,"url":"/peerconnections/a0a6a07d-e8ee-43c8-8586-b8bb768aed2d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:58Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6dab0f55-7d84-4232-9228-afbb8f5bdc38","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5aae5c22-4209-470f-887e-d7346f342b4c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162758.895454} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.661145,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9142d4a0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5f84a30f-770b-4abc-956a-2020e2f01b1d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5f84a30f-770b-4abc-956a-2020e2f01b1d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"a8b81eb6-aaa7-455d-bb03-af76065d5570","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162758.9026098} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e526f77f-ed0c-483b-9a0f-fd6aae0c685d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162758.9028287} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38/signaling 200 14ms","method":"POST","requestID":"9142d4a0-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/6dab0f55-7d84-4232-9228-afbb8f5bdc38/signaling"} 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":"bd43c7ace7390652eabfe1a675d807a1"},"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:52962","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:58Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe464eb5a-c9c3-4751-a276-904e4e810589","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"90b5100e-33b1-461e-8a7c-49ab20069aca","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162758.9124897} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.844803,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e464eb5a-c9c3-4751-a276-904e4e810589","object_type":"device","rebac_allow":false,"scope_allow":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":"914545a0-0d22-11ef-9118-35435c36490d"},"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/e464eb5a-c9c3-4751-a276-904e4e810589/signaling 200 13ms","method":"POST","requestID":"914545a0-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/e464eb5a-c9c3-4751-a276-904e4e810589/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"} gateway-1 | {"time_local":"08/May/2024:10:05:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d 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":"bd43c7ace7390652eabfe1a675d807a1"} gateway-1 | {"time_local":"08/May/2024:10:05:58 +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.681","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"e0ab9acb30b6f16b40edcaa8dbf9317a"} gateway-1 | {"time_local":"08/May/2024:10:05:58 +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.689","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"1d0ff6b18353ba312acc2e4954f96b81"} experiment-1 | {"level":"info","message":"DELETE /experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d 204 142ms","method":"DELETE","requestID":"bd43c7ace7390652eabfe1a675d807a1","responseTime":142,"status":204,"url":"/experiments/5f84a30f-770b-4abc-956a-2020e2f01b1d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 114ms","method":"POST","requestID":"b1f83a6b700146476b95f40b5f2070b9","responseTime":114,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:05: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.119","http_referrer":"","http_user_agent":"node-fetch","requestID":"b1f83a6b700146476b95f40b5f2070b9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 114ms","method":"POST","requestID":"aa683c6e5346371612719b5f8449287f","responseTime":114,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1OH0.YZSyamdNPuf9MSjNxQCEM42kj9l4OxN7wNgg1MNM_MU","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"08/May/2024:10:05: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.120","http_referrer":"","http_user_agent":"node-fetch","requestID":"aa683c6e5346371612719b5f8449287f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"707c2220fee2f1ffd8572b68e2b7f288","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/6dab0f55-7d84-4232-9228-afbb8f5bdc38' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:58Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.762254,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162758,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1OH0.YZSyamdNPuf9MSjNxQCEM42kj9l4OxN7wNgg1MNM_MU"} 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":"707c2220fee2f1ffd8572b68e2b7f288"},"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/e464eb5a-c9c3-4751-a276-904e4e810589' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75309f78-ae48-42a6-afd4-389f2f832cdb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bcbcafb3-e164-4c90-8487-9f938dc6f6b0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162758.9902542} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"707c2220fee2f1ffd8572b68e2b7f288"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2aa7e796-d9d1-4472-8088-2ff3f1b833ff","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162758.9952521} 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":"707c2220fee2f1ffd8572b68e2b7f288"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75309f78-ae48-42a6-afd4-389f2f832cdb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"76f79944-1987-43de-a8ce-97a695763420","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162759.0042837} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bbaa51c9-b3e2-4c14-93b9-10d892541d13","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162759.0045485} 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":"707c2220fee2f1ffd8572b68e2b7f288"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75309f78-ae48-42a6-afd4-389f2f832cdb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75309f78-ae48-42a6-afd4-389f2f832cdb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:59.004257538Z"}]},"request_id":"da77798e-c3c4-43c3-b99a-e87ef27947d3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162759.0089915} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"707c2220fee2f1ffd8572b68e2b7f288"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"707c2220fee2f1ffd8572b68e2b7f288"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"707c2220fee2f1ffd8572b68e2b7f288","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1OX0.cSTyyfj5eru0EwiPwPH6J4q5PtsezHKoEQwiUeQHnak","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"753ea7421f3a0578ef1df879f32733d3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:05:59Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.895865,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:05:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162759,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc1OX0.cSTyyfj5eru0EwiPwPH6J4q5PtsezHKoEQwiUeQHnak"} 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":"753ea7421f3a0578ef1df879f32733d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29cfbd17-ee32-409f-98a5-c5eee5547e77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d285ff2e-b91b-42e9-ab0e-9e6c8f2285c8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162759.034402} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"753ea7421f3a0578ef1df879f32733d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f5cfb0d6-33be-48df-b7cb-af15f879afe7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162759.0403466} 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":"753ea7421f3a0578ef1df879f32733d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29cfbd17-ee32-409f-98a5-c5eee5547e77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"af2295dd-439e-4bb4-bf77-77efc3c52abb","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162759.0502925} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d422447-26c7-433c-9aa2-a5c72d5e6840","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162759.0503993} 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":"753ea7421f3a0578ef1df879f32733d3"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29cfbd17-ee32-409f-98a5-c5eee5547e77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29cfbd17-ee32-409f-98a5-c5eee5547e77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:59.050266699Z"}]},"request_id":"18c789ec-e427-48f4-92e8-ee482811caf5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162759.0555305} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"753ea7421f3a0578ef1df879f32733d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:05:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"753ea7421f3a0578ef1df879f32733d3"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"753ea7421f3a0578ef1df879f32733d3","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":"4884f3051cff1fbe818bc4823b9885b2","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:06:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/29cfbd17-ee32-409f-98a5-c5eee5547e77/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":"4884f3051cff1fbe818bc4823b9885b2"} device-1 | {"level":"info","message":"OPTIONS /devices/29cfbd17-ee32-409f-98a5-c5eee5547e77/websocket 200 0ms","method":"OPTIONS","requestID":"4884f3051cff1fbe818bc4823b9885b2","responseTime":0,"status":200,"url":"/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5a6e722e69e01702b2021f613beaea85","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:06:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/75309f78-ae48-42a6-afd4-389f2f832cdb/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":"5a6e722e69e01702b2021f613beaea85"} device-1 | {"level":"info","message":"OPTIONS /devices/75309f78-ae48-42a6-afd4-389f2f832cdb/websocket 200 1ms","method":"OPTIONS","requestID":"5a6e722e69e01702b2021f613beaea85","responseTime":1,"status":200,"url":"/devices/75309f78-ae48-42a6-afd4-389f2f832cdb/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MH0.tqCPPcr9pD4XWt_WyBE7DpLwtc7PmUrn5EyubAgs02U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0363a89853fa3624be3910bcadf402b4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MH0.tqCPPcr9pD4XWt_WyBE7DpLwtc7PmUrn5EyubAgs02U","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ecc9b948b2132a8fb6c4363ad3890b7f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:00Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.947452,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:00Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162760,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MH0.tqCPPcr9pD4XWt_WyBE7DpLwtc7PmUrn5EyubAgs02U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0363a89853fa3624be3910bcadf402b4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.712744,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:00Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162760,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MH0.tqCPPcr9pD4XWt_WyBE7DpLwtc7PmUrn5EyubAgs02U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ecc9b948b2132a8fb6c4363ad3890b7f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/75309f78-ae48-42a6-afd4-389f2f832cdb/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":"ecc9b948b2132a8fb6c4363ad3890b7f"} device-1 | {"level":"info","message":"POST /devices/75309f78-ae48-42a6-afd4-389f2f832cdb/websocket 200 27ms","method":"POST","requestID":"ecc9b948b2132a8fb6c4363ad3890b7f","responseTime":27,"status":200,"url":"/devices/75309f78-ae48-42a6-afd4-389f2f832cdb/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/29cfbd17-ee32-409f-98a5-c5eee5547e77/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":"0363a89853fa3624be3910bcadf402b4"} device-1 | {"level":"info","message":"POST /devices/29cfbd17-ee32-409f-98a5-c5eee5547e77/websocket 200 29ms","method":"POST","requestID":"0363a89853fa3624be3910bcadf402b4","responseTime":29,"status":200,"url":"/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a634f394e0a0c5cbe935f5b46322db18","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.634671,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162761,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM"} 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":"a634f394e0a0c5cbe935f5b46322db18"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75309f78-ae48-42a6-afd4-389f2f832cdb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75309f78-ae48-42a6-afd4-389f2f832cdb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:59.004257538Z"}]},"request_id":"13129bd0-328d-45ca-837e-84f6c0883f13","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.0416975} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a634f394e0a0c5cbe935f5b46322db18"},"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/75309f78-ae48-42a6-afd4-389f2f832cdb? 200 10ms","method":"GET","requestID":"a634f394e0a0c5cbe935f5b46322db18","responseTime":10,"status":200,"url":"/devices/75309f78-ae48-42a6-afd4-389f2f832cdb?"} gateway-1 | {"time_local":"08/May/2024:10:06:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/75309f78-ae48-42a6-afd4-389f2f832cdb? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a634f394e0a0c5cbe935f5b46322db18"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1ca468778cb10c58a6cced62439291a3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696704,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162761,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM"} 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":"1ca468778cb10c58a6cced62439291a3"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29cfbd17-ee32-409f-98a5-c5eee5547e77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29cfbd17-ee32-409f-98a5-c5eee5547e77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:59.050266699Z"}]},"request_id":"3ecc73e1-03a8-44a8-a82b-ae07fc7fe4d8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.0569084} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1ca468778cb10c58a6cced62439291a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/29cfbd17-ee32-409f-98a5-c5eee5547e77? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1ca468778cb10c58a6cced62439291a3"} device-1 | {"level":"info","message":"GET /devices/29cfbd17-ee32-409f-98a5-c5eee5547e77? 200 11ms","method":"GET","requestID":"1ca468778cb10c58a6cced62439291a3","responseTime":11,"status":200,"url":"/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"93ccb68d57f1290c3f073272781867c0","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:52962","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.722564,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162761,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM"} 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":"93ccb68d57f1290c3f073272781867c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"},"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:52962","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919955,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162761,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9292fb50-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.577514,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162761,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92934970-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75309f78-ae48-42a6-afd4-389f2f832cdb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75309f78-ae48-42a6-afd4-389f2f832cdb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:59.004257538Z"}]},"request_id":"7b9f0f96-43ad-41c1-ad6b-e18876d0e9b5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.1033077} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9292fb50-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29cfbd17-ee32-409f-98a5-c5eee5547e77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29cfbd17-ee32-409f-98a5-c5eee5547e77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:59.050266699Z"}]},"request_id":"9677e4ac-f540-4286-9361-ddaec1c2ad7f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.1040335} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92934970-0d22-11ef-9118-35435c36490d"},"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/75309f78-ae48-42a6-afd4-389f2f832cdb? 200 15ms","method":"GET","requestID":"9292fb50-0d22-11ef-9118-35435c36490d","responseTime":15,"status":200,"url":"/devices/75309f78-ae48-42a6-afd4-389f2f832cdb?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/29cfbd17-ee32-409f-98a5-c5eee5547e77? 200 14ms","method":"GET","requestID":"92934970-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"},"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/848d746c-d2fe-43ec-bc82-2cadc9989c7e"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.756369,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162761,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"929b38b0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.77753,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162761,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM"} 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":"929b5fc0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75309f78-ae48-42a6-afd4-389f2f832cdb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af501058-3cf1-40f6-8ae7-9be369499413","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.1586714} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75309f78-ae48-42a6-afd4-389f2f832cdb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75309f78-ae48-42a6-afd4-389f2f832cdb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:59.004257538Z"}]},"request_id":"ac17efba-15a7-41b4-9693-b50da40c043f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.1595087} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.463294,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","object_type":"device","rebac_allow":false,"scope_allow":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":"929bd4f0-0d22-11ef-9118-35435c36490d"},"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":"929b38b0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29cfbd17-ee32-409f-98a5-c5eee5547e77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29cfbd17-ee32-409f-98a5-c5eee5547e77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:59.050266699Z"}]},"request_id":"22398be5-ce00-4b46-a4c2-a453cb3784b5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.1608124} 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":"929b5fc0-0d22-11ef-9118-35435c36490d"},"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":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F848d746c-d2fe-43ec-bc82-2cadc9989c7e#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F848d746c-d2fe-43ec-bc82-2cadc9989c7e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"9c7ed612-e01f-4b67-bf89-7f074d811c50","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.1679583} device-1 | {"level":"info","message":"POST /devices/75309f78-ae48-42a6-afd4-389f2f832cdb/signaling 200 17ms","method":"POST","requestID":"929bd4f0-0d22-11ef-9118-35435c36490d","responseTime":17,"status":200,"url":"/devices/75309f78-ae48-42a6-afd4-389f2f832cdb/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/75309f78-ae48-42a6-afd4-389f2f832cdb? 200 22ms","method":"GET","requestID":"929b38b0-0d22-11ef-9118-35435c36490d","responseTime":22,"status":200,"url":"/devices/75309f78-ae48-42a6-afd4-389f2f832cdb?"} 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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7747a37-db97-482c-a610-092486583426","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.169868} device-1 | {"level":"info","message":"GET /devices/29cfbd17-ee32-409f-98a5-c5eee5547e77? 200 22ms","method":"GET","requestID":"929b5fc0-0d22-11ef-9118-35435c36490d","responseTime":22,"status":200,"url":"/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77?"} 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":"93ccb68d57f1290c3f073272781867c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/May/2024:10:06:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.119","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"93ccb68d57f1290c3f073272781867c0"} experiment-1 | {"level":"info","message":"POST /experiments? 201 115ms","method":"POST","requestID":"93ccb68d57f1290c3f073272781867c0","responseTime":115,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29cfbd17-ee32-409f-98a5-c5eee5547e77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5bccdca2-d44b-4f61-87a7-03d0fda6ce4f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.1761} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.873392,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"929ee230-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75309f78-ae48-42a6-afd4-389f2f832cdb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aae92a37-6647-42fc-b7aa-bc061dc5b26e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.184045} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.446284,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"POST /devices/29cfbd17-ee32-409f-98a5-c5eee5547e77/signaling 200 15ms","method":"POST","requestID":"929ee230-0d22-11ef-9118-35435c36490d","responseTime":15,"status":200,"url":"/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"929f3050-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fdb1eabbeaaa28c62a19c6ee2ab757c1","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/75309f78-ae48-42a6-afd4-389f2f832cdb/signaling 200 19ms","method":"POST","requestID":"929f3050-0d22-11ef-9118-35435c36490d","responseTime":19,"status":200,"url":"/devices/75309f78-ae48-42a6-afd4-389f2f832cdb/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.936931,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162761,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fdb1eabbeaaa28c62a19c6ee2ab757c1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29cfbd17-ee32-409f-98a5-c5eee5547e77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7c91a1f-1802-4938-a44c-8071a0640bae","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.1998477} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75309f78-ae48-42a6-afd4-389f2f832cdb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75309f78-ae48-42a6-afd4-389f2f832cdb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:59.004257538Z"}]},"request_id":"7d1db5f6-7f3b-48c0-901d-e656afb37d91","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.2000332} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fdb1eabbeaaa28c62a19c6ee2ab757c1"},"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:52962","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.393202,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","object_type":"device","rebac_allow":false,"scope_allow":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":"92a28bb0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/75309f78-ae48-42a6-afd4-389f2f832cdb? 200 16ms","method":"GET","requestID":"fdb1eabbeaaa28c62a19c6ee2ab757c1","responseTime":16,"status":200,"url":"/devices/75309f78-ae48-42a6-afd4-389f2f832cdb?"} gateway-1 | {"time_local":"08/May/2024:10:06:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/75309f78-ae48-42a6-afd4-389f2f832cdb? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fdb1eabbeaaa28c62a19c6ee2ab757c1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"},"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":"f5448421-ace1-4314-8440-4f5293889e17"},{"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":"6267d8b2-4791-4af1-bac0-723e08dfaa22"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"3b785f5d-d2d9-477e-9f21-beaa37d9465b"}]},"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/75309f78-ae48-42a6-afd4-389f2f832cdb"},{"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/29cfbd17-ee32-409f-98a5-c5eee5547e77"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9f302a16cb0c312c60f7d10d6e41d029","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/29cfbd17-ee32-409f-98a5-c5eee5547e77/signaling 200 11ms","method":"POST","requestID":"92a28bb0-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77/signaling"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.70064,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162761,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM"} 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":"92a4d5a0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.734789,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162761,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f302a16cb0c312c60f7d10d6e41d029"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29cfbd17-ee32-409f-98a5-c5eee5547e77","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29cfbd17-ee32-409f-98a5-c5eee5547e77","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:05:59.050266699Z"}]},"request_id":"5c3182fd-4026-47ad-b093-b2f6999ad38f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.219694} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f302a16cb0c312c60f7d10d6e41d029"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/29cfbd17-ee32-409f-98a5-c5eee5547e77? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f302a16cb0c312c60f7d10d6e41d029"} device-1 | {"level":"info","message":"GET /devices/29cfbd17-ee32-409f-98a5-c5eee5547e77? 200 12ms","method":"GET","requestID":"9f302a16cb0c312c60f7d10d6e41d029","responseTime":12,"status":200,"url":"/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"3fcf3339-c86a-44e1-bf10-2f2e82c13813","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.2240837} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0295b37a-c690-43ec-aaec-4e8769abea92","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.2242873} 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":"92a4d5a0-0d22-11ef-9118-35435c36490d"},"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/3ec48c1b-0b1a-4757-8374-76f2e0e37943'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3ec48c1b-0b1a-4757-8374-76f2e0e37943'"} 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":"92a4d5a0-0d22-11ef-9118-35435c36490d","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/848d746c-d2fe-43ec-bc82-2cadc9989c7e"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75309f78-ae48-42a6-afd4-389f2f832cdb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c429915-7dde-49a6-b3cc-6d77ab1034ee","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.2885551} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.371141,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92b02040-0d22-11ef-9118-35435c36490d"},"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/75309f78-ae48-42a6-afd4-389f2f832cdb/signaling 200 9ms","method":"POST","requestID":"92b02040-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/75309f78-ae48-42a6-afd4-389f2f832cdb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29cfbd17-ee32-409f-98a5-c5eee5547e77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"85b768ee-837d-477f-bd3b-ec5efc3aa8bb","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.3058877} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.865778,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","object_type":"device","rebac_allow":false,"scope_allow":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":"92b24320-0d22-11ef-9118-35435c36490d"},"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/29cfbd17-ee32-409f-98a5-c5eee5547e77/signaling 200 14ms","method":"POST","requestID":"92b24320-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3ec48c1b-0b1a-4757-8374-76f2e0e37943' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3ec48c1b-0b1a-4757-8374-76f2e0e37943","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":"22d3c8b49e2316dd7fbf44ce1288d18b","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/75309f78-ae48-42a6-afd4-389f2f832cdb"},{"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/29cfbd17-ee32-409f-98a5-c5eee5547e77"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3ec48c1b-0b1a-4757-8374-76f2e0e37943"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"22d3c8b49e2316dd7fbf44ce1288d18b","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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":"22d3c8b49e2316dd7fbf44ce1288d18b"} device-1 | {"data":{"peerconnection":"3ec48c1b-0b1a-4757-8374-76f2e0e37943","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"3ec48c1b-0b1a-4757-8374-76f2e0e37943","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/3ec48c1b-0b1a-4757-8374-76f2e0e37943' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3ec48c1b-0b1a-4757-8374-76f2e0e37943","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":"87b29166d47ed103a4fc1c3eb58b1e50","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/75309f78-ae48-42a6-afd4-389f2f832cdb"},{"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/29cfbd17-ee32-409f-98a5-c5eee5547e77"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3ec48c1b-0b1a-4757-8374-76f2e0e37943"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3ec48c1b-0b1a-4757-8374-76f2e0e37943","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48ff851e-e4d1-4d8f-8fcf-a68da3ff951e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.4057508} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.104172,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3ec48c1b-0b1a-4757-8374-76f2e0e37943","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3ec48c1b-0b1a-4757-8374-76f2e0e37943","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":"92c1d380-0d22-11ef-9118-35435c36490d"},"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/3ec48c1b-0b1a-4757-8374-76f2e0e37943 200 10ms","method":"GET","requestID":"92c1d380-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/peerconnections/3ec48c1b-0b1a-4757-8374-76f2e0e37943"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"87b29166d47ed103a4fc1c3eb58b1e50","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"87b29166d47ed103a4fc1c3eb58b1e50"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75309f78-ae48-42a6-afd4-389f2f832cdb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"11b68930-36f4-41a8-aa0a-523ee750ed7d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.4308267} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.757067,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92c5cb20-0d22-11ef-9118-35435c36490d"},"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/75309f78-ae48-42a6-afd4-389f2f832cdb/signaling 200 9ms","method":"POST","requestID":"92c5cb20-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/75309f78-ae48-42a6-afd4-389f2f832cdb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29cfbd17-ee32-409f-98a5-c5eee5547e77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2f450e2-73be-4653-bf04-0ee8174cf6d9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.4426858} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.538835,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92c79fe0-0d22-11ef-9118-35435c36490d"},"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/29cfbd17-ee32-409f-98a5-c5eee5547e77/signaling 200 9ms","method":"POST","requestID":"92c79fe0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c79448a3caab8a7e9eefdae13fa6e6d6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.721548,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162761,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM"} 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":"c79448a3caab8a7e9eefdae13fa6e6d6"},"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/848d746c-d2fe-43ec-bc82-2cadc9989c7e"} gateway-1 | {"time_local":"08/May/2024:10:06:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c79448a3caab8a7e9eefdae13fa6e6d6"} experiment-1 | {"level":"info","message":"GET /experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e 200 9ms","method":"GET","requestID":"c79448a3caab8a7e9eefdae13fa6e6d6","responseTime":9,"status":200,"url":"/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d4d54c75550ff9480facc328893b4c3a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.659515,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162761,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM"} 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":"d4d54c75550ff9480facc328893b4c3a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.009963,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3ec48c1b-0b1a-4757-8374-76f2e0e37943","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/3ec48c1b-0b1a-4757-8374-76f2e0e37943","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162761,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM"} 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":"92cfb630-0d22-11ef-9118-35435c36490d"},"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/3ec48c1b-0b1a-4757-8374-76f2e0e37943' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3ec48c1b-0b1a-4757-8374-76f2e0e37943' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3ec48c1b-0b1a-4757-8374-76f2e0e37943","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3ec48c1b-0b1a-4757-8374-76f2e0e37943': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3ec48c1b-0b1a-4757-8374-76f2e0e37943","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"790ffc3c-fadc-40ef-9c28-f6e34820b7d8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.5058281} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"caf70774-2e33-4db7-8dfa-fc224d6c6d7a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.5060809} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 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":"92cfb630-0d22-11ef-9118-35435c36490d"},"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-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/75309f78-ae48-42a6-afd4-389f2f832cdb"},{"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/29cfbd17-ee32-409f-98a5-c5eee5547e77"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3ec48c1b-0b1a-4757-8374-76f2e0e37943"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"aaac102f164426f8a7448fb644be466b","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-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb"},{"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/29cfbd17-ee32-409f-98a5-c5eee5547e77"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3ec48c1b-0b1a-4757-8374-76f2e0e37943"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"65fbc231dfd99d89a542afa0af1c31b7","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/3ec48c1b-0b1a-4757-8374-76f2e0e37943 204 39ms","method":"DELETE","requestID":"92cfb630-0d22-11ef-9118-35435c36490d","responseTime":39,"status":204,"url":"/peerconnections/3ec48c1b-0b1a-4757-8374-76f2e0e37943"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F75309f78-ae48-42a6-afd4-389f2f832cdb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ff1cc9fa-1b7b-4f2a-8a98-3076638327d6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.5581152} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.487005,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb","object_type":"device","rebac_allow":false,"scope_allow":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":"92d88fd0-0d22-11ef-9118-35435c36490d"},"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/75309f78-ae48-42a6-afd4-389f2f832cdb/signaling 200 15ms","method":"POST","requestID":"92d88fd0-0d22-11ef-9118-35435c36490d","responseTime":15,"status":200,"url":"/devices/75309f78-ae48-42a6-afd4-389f2f832cdb/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F848d746c-d2fe-43ec-bc82-2cadc9989c7e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F848d746c-d2fe-43ec-bc82-2cadc9989c7e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"b4e830ae-b765-4e8e-a353-4951f0e237e3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.5670307} 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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"09c766ac-c6d1-4cca-89c8-1f6eb182c27d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.5673838} 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":"d4d54c75550ff9480facc328893b4c3a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.508156,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F29cfbd17-ee32-409f-98a5-c5eee5547e77","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c1c4896-da0e-4aa1-9c44-2afdfef7e144","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.5732498} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77","object_type":"device","rebac_allow":false,"scope_allow":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":"92db4ef0-0d22-11ef-9118-35435c36490d"},"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/29cfbd17-ee32-409f-98a5-c5eee5547e77/signaling 200 14ms","method":"POST","requestID":"92db4ef0-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/29cfbd17-ee32-409f-98a5-c5eee5547e77/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"} gateway-1 | {"time_local":"08/May/2024:10:06:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e 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":"d4d54c75550ff9480facc328893b4c3a"} experiment-1 | {"level":"info","message":"DELETE /experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e 204 143ms","method":"DELETE","requestID":"d4d54c75550ff9480facc328893b4c3a","responseTime":143,"status":204,"url":"/experiments/848d746c-d2fe-43ec-bc82-2cadc9989c7e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 116ms","method":"POST","requestID":"aaac102f164426f8a7448fb644be466b","responseTime":116,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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.120","http_referrer":"","http_user_agent":"node-fetch","requestID":"aaac102f164426f8a7448fb644be466b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 116ms","method":"POST","requestID":"65fbc231dfd99d89a542afa0af1c31b7","responseTime":116,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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.121","http_referrer":"","http_user_agent":"node-fetch","requestID":"65fbc231dfd99d89a542afa0af1c31b7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"744f56d741e1d942d4f7e33ad7f1b709","responseTime":5,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:06:01 +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.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":"43a3ea862e988376729ac05f394004e2"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/May/2024:10:06:01 +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.615","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"964447e086fb4fcbc41a47f9225dc059"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.946713,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/75309f78-ae48-42a6-afd4-389f2f832cdb' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162761,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM"} 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":"744f56d741e1d942d4f7e33ad7f1b709"},"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/29cfbd17-ee32-409f-98a5-c5eee5547e77' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F645e6839-9f65-4af5-b529-5cf866a1aaf5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"988ed41c-3b08-4087-b0d3-cb0179a7b865","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.658204} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"744f56d741e1d942d4f7e33ad7f1b709"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0201bb2-0568-4606-b1e5-630714d04de6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.6627312} 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":"744f56d741e1d942d4f7e33ad7f1b709"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F645e6839-9f65-4af5-b529-5cf866a1aaf5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"52d757d0-2365-4121-bb92-ecd7233f0f48","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.6726675} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2fcbfe8d-51d8-4371-9ad8-8d6fd9ad6930","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.6728103} 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":"744f56d741e1d942d4f7e33ad7f1b709"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F645e6839-9f65-4af5-b529-5cf866a1aaf5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F645e6839-9f65-4af5-b529-5cf866a1aaf5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:01.672647336Z"}]},"request_id":"0e054b4c-806c-47e8-8597-309c5f4b69ff","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.6765401} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"744f56d741e1d942d4f7e33ad7f1b709"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"744f56d741e1d942d4f7e33ad7f1b709","responseTime":48,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/May/2024:10:06:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"744f56d741e1d942d4f7e33ad7f1b709"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d950d69d11d02a70e195e145b8a027c2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.669585,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:01Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162761,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2MX0.KEQNUBdbjZiFC9MCi14ia6MDnkXQKOetV-dGa-Ex7bM"} 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":"d950d69d11d02a70e195e145b8a027c2"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f46633-701e-4638-9734-9dd3483dc512","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7f2de842-d8b0-42bb-83bf-2210d7541dd8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.699715} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d950d69d11d02a70e195e145b8a027c2"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"445d8995-2fed-41b4-b3ba-65002a5f0c8e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.7040937} 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":"d950d69d11d02a70e195e145b8a027c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f46633-701e-4638-9734-9dd3483dc512","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"6615b5b6-f466-4417-9626-6cb430cb553f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.7159607} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"78538dba-5884-4723-80f2-209e56ce4d18","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.716102} 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":"d950d69d11d02a70e195e145b8a027c2"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f46633-701e-4638-9734-9dd3483dc512","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f46633-701e-4638-9734-9dd3483dc512","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:01.715933699Z"}]},"request_id":"4d3f1ddb-8353-42bc-b739-6ecfead805eb","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162761.7200482} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d950d69d11d02a70e195e145b8a027c2"},"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":"d950d69d11d02a70e195e145b8a027c2","responseTime":39,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/May/2024:10:06:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d950d69d11d02a70e195e145b8a027c2"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f91b66716cad143d31d5c13ba6f8b721","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/91f46633-701e-4638-9734-9dd3483dc512/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":"f91b66716cad143d31d5c13ba6f8b721"} device-1 | {"level":"info","message":"OPTIONS /devices/91f46633-701e-4638-9734-9dd3483dc512/websocket 200 1ms","method":"OPTIONS","requestID":"f91b66716cad143d31d5c13ba6f8b721","responseTime":1,"status":200,"url":"/devices/91f46633-701e-4638-9734-9dd3483dc512/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cb5fa522eea87a00975dd92a9f66a82e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/645e6839-9f65-4af5-b529-5cf866a1aaf5/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":"cb5fa522eea87a00975dd92a9f66a82e"} device-1 | {"level":"info","message":"OPTIONS /devices/645e6839-9f65-4af5-b529-5cf866a1aaf5/websocket 200 0ms","method":"OPTIONS","requestID":"cb5fa522eea87a00975dd92a9f66a82e","responseTime":0,"status":200,"url":"/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2M30.yM_M70qlZSy4Fn2_KMZMgM3iM_1Mxj_dDkyzXrmSMFE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"af77faa30a3276e2927caa69e542b529","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2M30.yM_M70qlZSy4Fn2_KMZMgM3iM_1Mxj_dDkyzXrmSMFE","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:03Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"37e6dd1c92a05fd2c2336fb5103103dd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.851839,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162763,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2M30.yM_M70qlZSy4Fn2_KMZMgM3iM_1Mxj_dDkyzXrmSMFE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af77faa30a3276e2927caa69e542b529"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.740128,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162763,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2M30.yM_M70qlZSy4Fn2_KMZMgM3iM_1Mxj_dDkyzXrmSMFE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"37e6dd1c92a05fd2c2336fb5103103dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/91f46633-701e-4638-9734-9dd3483dc512/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":"af77faa30a3276e2927caa69e542b529"} device-1 | {"level":"info","message":"POST /devices/91f46633-701e-4638-9734-9dd3483dc512/websocket 200 29ms","method":"POST","requestID":"af77faa30a3276e2927caa69e542b529","responseTime":29,"status":200,"url":"/devices/91f46633-701e-4638-9734-9dd3483dc512/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/645e6839-9f65-4af5-b529-5cf866a1aaf5/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":"37e6dd1c92a05fd2c2336fb5103103dd"} device-1 | {"level":"info","message":"POST /devices/645e6839-9f65-4af5-b529-5cf866a1aaf5/websocket 200 36ms","method":"POST","requestID":"37e6dd1c92a05fd2c2336fb5103103dd","responseTime":36,"status":200,"url":"/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2M30.yM_M70qlZSy4Fn2_KMZMgM3iM_1Mxj_dDkyzXrmSMFE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d24e29bb0d7c2b5fcd420ef723876176","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.676021,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162763,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2M30.yM_M70qlZSy4Fn2_KMZMgM3iM_1Mxj_dDkyzXrmSMFE"} 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":"d24e29bb0d7c2b5fcd420ef723876176"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F645e6839-9f65-4af5-b529-5cf866a1aaf5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F645e6839-9f65-4af5-b529-5cf866a1aaf5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:01.672647336Z"}]},"request_id":"83cf1482-4435-49cc-85d2-b48ec1aa34a5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162763.7148545} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d24e29bb0d7c2b5fcd420ef723876176"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/645e6839-9f65-4af5-b529-5cf866a1aaf5? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d24e29bb0d7c2b5fcd420ef723876176"} device-1 | {"level":"info","message":"GET /devices/645e6839-9f65-4af5-b529-5cf866a1aaf5? 200 11ms","method":"GET","requestID":"d24e29bb0d7c2b5fcd420ef723876176","responseTime":11,"status":200,"url":"/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2M30.yM_M70qlZSy4Fn2_KMZMgM3iM_1Mxj_dDkyzXrmSMFE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9939621008e20f00e81fc3bb91b1cc47","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.659851,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162763,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2M30.yM_M70qlZSy4Fn2_KMZMgM3iM_1Mxj_dDkyzXrmSMFE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9939621008e20f00e81fc3bb91b1cc47"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f46633-701e-4638-9734-9dd3483dc512","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f46633-701e-4638-9734-9dd3483dc512","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:01.715933699Z"}]},"request_id":"9a65e1f5-c702-4fc2-a76d-df2579b59ad6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162763.7295258} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9939621008e20f00e81fc3bb91b1cc47"},"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/91f46633-701e-4638-9734-9dd3483dc512? 200 11ms","method":"GET","requestID":"9939621008e20f00e81fc3bb91b1cc47","responseTime":11,"status":200,"url":"/devices/91f46633-701e-4638-9734-9dd3483dc512?"} gateway-1 | {"time_local":"08/May/2024:10:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/91f46633-701e-4638-9734-9dd3483dc512? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9939621008e20f00e81fc3bb91b1cc47"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2M30.yM_M70qlZSy4Fn2_KMZMgM3iM_1Mxj_dDkyzXrmSMFE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f5dc93d2a85186fb9469839942b1f401","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:52962","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.654161,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162763,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2M30.yM_M70qlZSy4Fn2_KMZMgM3iM_1Mxj_dDkyzXrmSMFE"} 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":"f5dc93d2a85186fb9469839942b1f401"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"},"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:52962","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.603036,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162763,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2M30.yM_M70qlZSy4Fn2_KMZMgM3iM_1Mxj_dDkyzXrmSMFE"} 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":"942de6a0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665256,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162763,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2M30.yM_M70qlZSy4Fn2_KMZMgM3iM_1Mxj_dDkyzXrmSMFE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"942e0db0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F645e6839-9f65-4af5-b529-5cf866a1aaf5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F645e6839-9f65-4af5-b529-5cf866a1aaf5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:01.672647336Z"}]},"request_id":"e5ba868e-775c-4e30-93c8-2259c74b3622","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162763.7941835} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"942de6a0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f46633-701e-4638-9734-9dd3483dc512","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f46633-701e-4638-9734-9dd3483dc512","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:01.715933699Z"}]},"request_id":"0f1f8e69-1560-4e43-a557-54e1d60a8b37","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162763.794977} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"942e0db0-0d22-11ef-9118-35435c36490d"},"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/645e6839-9f65-4af5-b529-5cf866a1aaf5? 200 13ms","method":"GET","requestID":"942de6a0-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/91f46633-701e-4638-9734-9dd3483dc512? 200 12ms","method":"GET","requestID":"942e0db0-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/91f46633-701e-4638-9734-9dd3483dc512?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"},"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/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.971769,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162763,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2M30.yM_M70qlZSy4Fn2_KMZMgM3iM_1Mxj_dDkyzXrmSMFE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9435fcf0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.871799,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162763,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2M30.yM_M70qlZSy4Fn2_KMZMgM3iM_1Mxj_dDkyzXrmSMFE"} 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":"94362400-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.035789,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F645e6839-9f65-4af5-b529-5cf866a1aaf5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5970c09a-6c81-4f00-b99c-12c1deeb4aeb","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162763.8477807} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","object_type":"device","rebac_allow":false,"scope_allow":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":"94364b10-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F645e6839-9f65-4af5-b529-5cf866a1aaf5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F645e6839-9f65-4af5-b529-5cf866a1aaf5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:01.672647336Z"}]},"request_id":"205b868d-5c60-469f-a246-b7955823cd55","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162763.849804} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/645e6839-9f65-4af5-b529-5cf866a1aaf5/signaling 200 12ms","method":"POST","requestID":"94364b10-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5/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":"9435fcf0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f46633-701e-4638-9734-9dd3483dc512","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f46633-701e-4638-9734-9dd3483dc512","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:01.715933699Z"}]},"request_id":"e56c605e-e828-4bf9-98d6-2c54ecdc2282","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162763.8525112} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"94362400-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd6d3a3b5-b516-433a-8d3f-b8a665ce3493#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd6d3a3b5-b516-433a-8d3f-b8a665ce3493","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"b2f73f65-1e78-4d1f-8532-efd173acfcbb","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162763.8593707} 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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4aa66b0-cbc8-4549-a58d-5e8ce79f8231","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162763.859581} device-1 | {"level":"info","message":"GET /devices/645e6839-9f65-4af5-b529-5cf866a1aaf5? 200 22ms","method":"GET","requestID":"9435fcf0-0d22-11ef-9118-35435c36490d","responseTime":22,"status":200,"url":"/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5?"} 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":"f5dc93d2a85186fb9469839942b1f401"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device-1 | {"level":"info","message":"GET /devices/91f46633-701e-4638-9734-9dd3483dc512? 200 22ms","method":"GET","requestID":"94362400-0d22-11ef-9118-35435c36490d","responseTime":22,"status":200,"url":"/devices/91f46633-701e-4638-9734-9dd3483dc512?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f46633-701e-4638-9734-9dd3483dc512","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd1204fa-dd45-429b-8224-317ff53d4081","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162763.862689} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.272595,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9438bc10-0d22-11ef-9118-35435c36490d"},"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/d6d3a3b5-b516-433a-8d3f-b8a665ce3493","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"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:52962","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:03Z"} gateway-1 | {"time_local":"08/May/2024:10:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f5dc93d2a85186fb9469839942b1f401"} experiment-1 | {"level":"info","message":"POST /experiments? 201 132ms","method":"POST","requestID":"f5dc93d2a85186fb9469839942b1f401","responseTime":132,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/91f46633-701e-4638-9734-9dd3483dc512/signaling 200 12ms","method":"POST","requestID":"9438bc10-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/91f46633-701e-4638-9734-9dd3483dc512/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F645e6839-9f65-4af5-b529-5cf866a1aaf5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12228842-ab7a-4649-adcb-cc4e11ba210d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162763.871968} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.718132,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","object_type":"device","rebac_allow":false,"scope_allow":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":"943a42b0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2M30.yM_M70qlZSy4Fn2_KMZMgM3iM_1Mxj_dDkyzXrmSMFE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"808bc095dcbebc9857e71cd292856b03","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/645e6839-9f65-4af5-b529-5cf866a1aaf5/signaling 200 11ms","method":"POST","requestID":"943a42b0-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.663822,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162763,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2M30.yM_M70qlZSy4Fn2_KMZMgM3iM_1Mxj_dDkyzXrmSMFE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"808bc095dcbebc9857e71cd292856b03"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f46633-701e-4638-9734-9dd3483dc512","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7caf8f18-48a3-4999-843a-8440b13044ea","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162763.8849819} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F645e6839-9f65-4af5-b529-5cf866a1aaf5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F645e6839-9f65-4af5-b529-5cf866a1aaf5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:01.672647336Z"}]},"request_id":"b90d1f72-71ce-441d-9faa-f31e47d3e441","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162763.8850539} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"808bc095dcbebc9857e71cd292856b03"},"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:52962","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.779772,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","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":"943c3e80-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway-1 | {"time_local":"08/May/2024:10:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/645e6839-9f65-4af5-b529-5cf866a1aaf5? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"808bc095dcbebc9857e71cd292856b03"} device-1 | {"level":"info","message":"GET /devices/645e6839-9f65-4af5-b529-5cf866a1aaf5? 200 12ms","method":"GET","requestID":"808bc095dcbebc9857e71cd292856b03","responseTime":12,"status":200,"url":"/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/91f46633-701e-4638-9734-9dd3483dc512/signaling 200 11ms","method":"POST","requestID":"943c3e80-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/91f46633-701e-4638-9734-9dd3483dc512/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"},"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":"feac4a8a-a19e-40d1-98b3-e6291e890cbf"},{"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":"46d5badc-f9ad-479d-bc13-b0691cf3e958"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"ce20e97f-ca04-442a-a5c5-a1e6e218d80f"}]},"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/645e6839-9f65-4af5-b529-5cf866a1aaf5"},{"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/91f46633-701e-4638-9734-9dd3483dc512"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2M30.yM_M70qlZSy4Fn2_KMZMgM3iM_1Mxj_dDkyzXrmSMFE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"90228404f0eb003a52e10e7f8eed56ee","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:52962","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.692659,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162763,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2M30.yM_M70qlZSy4Fn2_KMZMgM3iM_1Mxj_dDkyzXrmSMFE"} 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":"943e6160-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.691611,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162763,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2M30.yM_M70qlZSy4Fn2_KMZMgM3iM_1Mxj_dDkyzXrmSMFE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"90228404f0eb003a52e10e7f8eed56ee"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f46633-701e-4638-9734-9dd3483dc512","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f46633-701e-4638-9734-9dd3483dc512","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:01.715933699Z"}]},"request_id":"b2ef808a-414e-44fe-9ab0-7c769e432f10","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162763.9043522} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"90228404f0eb003a52e10e7f8eed56ee"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/91f46633-701e-4638-9734-9dd3483dc512? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"90228404f0eb003a52e10e7f8eed56ee"} device-1 | {"level":"info","message":"GET /devices/91f46633-701e-4638-9734-9dd3483dc512? 200 13ms","method":"GET","requestID":"90228404f0eb003a52e10e7f8eed56ee","responseTime":13,"status":200,"url":"/devices/91f46633-701e-4638-9734-9dd3483dc512?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"93756f7a-7fd9-4461-9200-c9a28f656cb2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162763.9088783} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a3dd808-4209-454e-871e-ca7a5a220d09","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162763.909961} 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":"943e6160-0d22-11ef-9118-35435c36490d"},"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/57c1375c-8b29-4ff9-9191-af09c1b85643'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/57c1375c-8b29-4ff9-9191-af09c1b85643'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 37ms","method":"POST","requestID":"943e6160-0d22-11ef-9118-35435c36490d","responseTime":37,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F645e6839-9f65-4af5-b529-5cf866a1aaf5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5af80ee9-e43f-48ed-b85d-e6f4824dfcad","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162763.9656596} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.157797,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","object_type":"device","rebac_allow":false,"scope_allow":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":"94487380-0d22-11ef-9118-35435c36490d"},"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/645e6839-9f65-4af5-b529-5cf866a1aaf5/signaling 200 15ms","method":"POST","requestID":"94487380-0d22-11ef-9118-35435c36490d","responseTime":15,"status":200,"url":"/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f46633-701e-4638-9734-9dd3483dc512","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dfe32a8d-e4c2-422f-ba9d-9175a74daf98","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162763.9845507} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.970577,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","object_type":"device","rebac_allow":false,"scope_allow":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":"944b0b90-0d22-11ef-9118-35435c36490d"},"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/91f46633-701e-4638-9734-9dd3483dc512/signaling 200 16ms","method":"POST","requestID":"944b0b90-0d22-11ef-9118-35435c36490d","responseTime":16,"status":200,"url":"/devices/91f46633-701e-4638-9734-9dd3483dc512/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/57c1375c-8b29-4ff9-9191-af09c1b85643' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"57c1375c-8b29-4ff9-9191-af09c1b85643","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":"d455be25627fdc2e366324a7727469ed","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/645e6839-9f65-4af5-b529-5cf866a1aaf5"},{"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/91f46633-701e-4638-9734-9dd3483dc512"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/57c1375c-8b29-4ff9-9191-af09c1b85643"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"d455be25627fdc2e366324a7727469ed","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"d455be25627fdc2e366324a7727469ed"} device-1 | {"data":{"peerconnection":"57c1375c-8b29-4ff9-9191-af09c1b85643","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"57c1375c-8b29-4ff9-9191-af09c1b85643","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/57c1375c-8b29-4ff9-9191-af09c1b85643' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"57c1375c-8b29-4ff9-9191-af09c1b85643","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":"59091e426e906160de2999cbf26bbb9b","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/645e6839-9f65-4af5-b529-5cf866a1aaf5"},{"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/91f46633-701e-4638-9734-9dd3483dc512"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/57c1375c-8b29-4ff9-9191-af09c1b85643"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F57c1375c-8b29-4ff9-9191-af09c1b85643","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db070a64-d8de-4522-8009-b44926e1dbd2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.0601664} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.353495,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/57c1375c-8b29-4ff9-9191-af09c1b85643","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/57c1375c-8b29-4ff9-9191-af09c1b85643","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":"9456f270-0d22-11ef-9118-35435c36490d"},"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/57c1375c-8b29-4ff9-9191-af09c1b85643 200 9ms","method":"GET","requestID":"9456f270-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/peerconnections/57c1375c-8b29-4ff9-9191-af09c1b85643"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"59091e426e906160de2999cbf26bbb9b","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"59091e426e906160de2999cbf26bbb9b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F645e6839-9f65-4af5-b529-5cf866a1aaf5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc99bf97-5a87-429f-af2c-ead645e5450c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.0838342} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.56395,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"945a9bf0-0d22-11ef-9118-35435c36490d"},"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/645e6839-9f65-4af5-b529-5cf866a1aaf5/signaling 200 9ms","method":"POST","requestID":"945a9bf0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f46633-701e-4638-9734-9dd3483dc512","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"246eea1e-db14-4dbf-b50d-911a48fa9ed2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.0938792} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.125605,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","object_type":"device","rebac_allow":false,"scope_allow":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":"945c49a0-0d22-11ef-9118-35435c36490d"},"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/91f46633-701e-4638-9734-9dd3483dc512/signaling 200 8ms","method":"POST","requestID":"945c49a0-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/91f46633-701e-4638-9734-9dd3483dc512/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2NH0.Sf4dnEF7nOzfHHutrKTuYgfmZXLnDyFtZEeRavp52KU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0d1cd052134027b67a32a5fb66220725","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.784623,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162764,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2NH0.Sf4dnEF7nOzfHHutrKTuYgfmZXLnDyFtZEeRavp52KU"} 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":"0d1cd052134027b67a32a5fb66220725"},"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/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"} gateway-1 | {"time_local":"08/May/2024:10:06:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0d1cd052134027b67a32a5fb66220725"} experiment-1 | {"level":"info","message":"GET /experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493 200 9ms","method":"GET","requestID":"0d1cd052134027b67a32a5fb66220725","responseTime":9,"status":200,"url":"/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2NH0.Sf4dnEF7nOzfHHutrKTuYgfmZXLnDyFtZEeRavp52KU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"badf9d014de7355c64d3c8f1d7ecf098","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.763958,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162764,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2NH0.Sf4dnEF7nOzfHHutrKTuYgfmZXLnDyFtZEeRavp52KU"} 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":"badf9d014de7355c64d3c8f1d7ecf098"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.729733,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/57c1375c-8b29-4ff9-9191-af09c1b85643","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/57c1375c-8b29-4ff9-9191-af09c1b85643","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162764,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2NH0.Sf4dnEF7nOzfHHutrKTuYgfmZXLnDyFtZEeRavp52KU"} 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":"94665bc0-0d22-11ef-9118-35435c36490d"},"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/57c1375c-8b29-4ff9-9191-af09c1b85643' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/57c1375c-8b29-4ff9-9191-af09c1b85643' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"57c1375c-8b29-4ff9-9191-af09c1b85643","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F57c1375c-8b29-4ff9-9191-af09c1b85643': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F57c1375c-8b29-4ff9-9191-af09c1b85643","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"685c8e30-635a-47c7-9a5c-400c66e400d2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.1734471} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5cae34ff-3fcb-4280-a0ec-3669a95954f8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.1736987} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"aab0e06e9c67e2050e01100aeec8a01b","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":"94665bc0-0d22-11ef-9118-35435c36490d"},"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":"f7b1c514fc41026b7c2797f5b26e7aae","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":"closed","url":"http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5"},{"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/91f46633-701e-4638-9734-9dd3483dc512"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/57c1375c-8b29-4ff9-9191-af09c1b85643"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5"},{"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/91f46633-701e-4638-9734-9dd3483dc512"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/57c1375c-8b29-4ff9-9191-af09c1b85643"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"57c1375c-8b29-4ff9-9191-af09c1b85643","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/57c1375c-8b29-4ff9-9191-af09c1b85643 204 50ms","method":"DELETE","requestID":"94665bc0-0d22-11ef-9118-35435c36490d","responseTime":50,"status":204,"url":"/peerconnections/57c1375c-8b29-4ff9-9191-af09c1b85643"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F645e6839-9f65-4af5-b529-5cf866a1aaf5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45c43a70-32bd-4a3e-9c6f-22d405ed12f9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.2268395} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.981478,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"947046d0-0d22-11ef-9118-35435c36490d"},"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/645e6839-9f65-4af5-b529-5cf866a1aaf5/signaling 200 10ms","method":"POST","requestID":"947046d0-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/645e6839-9f65-4af5-b529-5cf866a1aaf5/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd6d3a3b5-b516-433a-8d3f-b8a665ce3493': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd6d3a3b5-b516-433a-8d3f-b8a665ce3493","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"4d12acbd-6791-4f21-b624-84a756d4df84","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.2334142} 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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4c9b077-7fd9-4d52-8350-62a0f7bc58d8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.2338307} 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":"badf9d014de7355c64d3c8f1d7ecf098"},"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:52962","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F91f46633-701e-4638-9734-9dd3483dc512","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f0b5aee6-7d36-4e85-9441-7999fae04fb4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.2372882} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.12971,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"94721b90-0d22-11ef-9118-35435c36490d"},"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/91f46633-701e-4638-9734-9dd3483dc512/signaling 200 11ms","method":"POST","requestID":"94721b90-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/91f46633-701e-4638-9734-9dd3483dc512/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"} gateway-1 | {"time_local":"08/May/2024:10:06:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493 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":"badf9d014de7355c64d3c8f1d7ecf098"} experiment-1 | {"level":"info","message":"DELETE /experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493 204 137ms","method":"DELETE","requestID":"badf9d014de7355c64d3c8f1d7ecf098","responseTime":137,"status":204,"url":"/experiments/d6d3a3b5-b516-433a-8d3f-b8a665ce3493"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 109ms","method":"POST","requestID":"aab0e06e9c67e2050e01100aeec8a01b","responseTime":109,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.113","http_referrer":"","http_user_agent":"node-fetch","requestID":"aab0e06e9c67e2050e01100aeec8a01b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 109ms","method":"POST","requestID":"f7b1c514fc41026b7c2797f5b26e7aae","responseTime":109,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2NH0.Sf4dnEF7nOzfHHutrKTuYgfmZXLnDyFtZEeRavp52KU","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/May/2024:10:06:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.114","http_referrer":"","http_user_agent":"node-fetch","requestID":"f7b1c514fc41026b7c2797f5b26e7aae"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0a148804a2a279a64c2312ac6dbeabc1","responseTime":4,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:06:04 +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.606","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1faf1a9cae9facff7cd0718d1d8d982f"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.885908,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:04Z"} gateway-1 | {"time_local":"08/May/2024:10:06:04 +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.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":"a63dd3dc10f8105005678a10d3497e5a"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162764,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2NH0.Sf4dnEF7nOzfHHutrKTuYgfmZXLnDyFtZEeRavp52KU"} 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":"0a148804a2a279a64c2312ac6dbeabc1"},"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/645e6839-9f65-4af5-b529-5cf866a1aaf5' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/91f46633-701e-4638-9734-9dd3483dc512' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5145eff3-9a82-4ab5-8c8f-9452a81b4287","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e84dd925-ebb1-4261-b1c7-1dab2f438d1c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.3153007} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a148804a2a279a64c2312ac6dbeabc1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b94ae909-b65d-4313-b6cd-98cb00b64d3a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.3193884} 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":"0a148804a2a279a64c2312ac6dbeabc1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5145eff3-9a82-4ab5-8c8f-9452a81b4287","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"cc2e17fc-1ab3-4493-bc14-68825e3303fb","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.3274603} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d1b74a2-640d-440a-98fc-252e177ffef7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.3275561} 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":"0a148804a2a279a64c2312ac6dbeabc1"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5145eff3-9a82-4ab5-8c8f-9452a81b4287","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5145eff3-9a82-4ab5-8c8f-9452a81b4287","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:04.327438416Z"}]},"request_id":"a154bdf8-f845-4442-bd25-b3bb29f9ba6d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.3314984} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a148804a2a279a64c2312ac6dbeabc1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"0a148804a2a279a64c2312ac6dbeabc1","responseTime":43,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/May/2024:10:06:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a148804a2a279a64c2312ac6dbeabc1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2NH0.Sf4dnEF7nOzfHHutrKTuYgfmZXLnDyFtZEeRavp52KU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2e6f56c71236dca41feaf99a94121882","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.760304,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162764,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2NH0.Sf4dnEF7nOzfHHutrKTuYgfmZXLnDyFtZEeRavp52KU"} 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":"2e6f56c71236dca41feaf99a94121882"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"eafc0d39-d707-4a9c-ace2-7c4afb97e949","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.3528275} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e6f56c71236dca41feaf99a94121882"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"05f84b6e-85ff-4429-a6ca-d5e1bc3ac6c2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.356769} 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":"2e6f56c71236dca41feaf99a94121882"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"14018f42-c884-4232-a312-8f01e5de6fdf","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.3675394} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0752212d-b2b4-46f4-8b32-be215183cc53","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.367695} 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":"2e6f56c71236dca41feaf99a94121882"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:04.367514632Z"}]},"request_id":"13a3c1b4-51e0-49d2-8f30-fc3da229250b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.3712676} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2e6f56c71236dca41feaf99a94121882"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2e6f56c71236dca41feaf99a94121882"} device-1 | {"level":"info","message":"POST /devices? 201 35ms","method":"POST","requestID":"2e6f56c71236dca41feaf99a94121882","responseTime":35,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2NH0.Sf4dnEF7nOzfHHutrKTuYgfmZXLnDyFtZEeRavp52KU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3863798a4c27fff431ca606aa95840d6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.649605,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162764,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2NH0.Sf4dnEF7nOzfHHutrKTuYgfmZXLnDyFtZEeRavp52KU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3863798a4c27fff431ca606aa95840d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:04.367514632Z"}]},"request_id":"b9b29b62-e663-45b4-8cc1-a22d5a1422b4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.885614} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3863798a4c27fff431ca606aa95840d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b8d1303c-f364-42d6-ba9b-9ad32d3260ce","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.892426} 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":"3863798a4c27fff431ca606aa95840d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:04.367514632Z"}]},"request_id":"9605e046-096f-4b7e-b87d-3ec517ef9515","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162764.9138944} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3863798a4c27fff431ca606aa95840d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ba888b95-fa93-4dae-8afa-11a7db39837f HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3863798a4c27fff431ca606aa95840d6"} device-1 | {"level":"info","message":"PATCH /devices/ba888b95-fa93-4dae-8afa-11a7db39837f 200 42ms","method":"PATCH","requestID":"3863798a4c27fff431ca606aa95840d6","responseTime":42,"status":200,"url":"/devices/ba888b95-fa93-4dae-8afa-11a7db39837f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2NH0.Sf4dnEF7nOzfHHutrKTuYgfmZXLnDyFtZEeRavp52KU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c7ecda43a276ec57c11c761c771050a8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.712234,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162764,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2NH0.Sf4dnEF7nOzfHHutrKTuYgfmZXLnDyFtZEeRavp52KU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7ecda43a276ec57c11c761c771050a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ba888b95-fa93-4dae-8afa-11a7db39837f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.016","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c7ecda43a276ec57c11c761c771050a8"} device-1 | {"level":"info","message":"POST /devices/ba888b95-fa93-4dae-8afa-11a7db39837f/websocket 200 13ms","method":"POST","requestID":"c7ecda43a276ec57c11c761c771050a8","responseTime":13,"status":200,"url":"/devices/ba888b95-fa93-4dae-8afa-11a7db39837f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f' 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":"a971290c89f05b2cf4bcdb98c416ff5d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287/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":"a971290c89f05b2cf4bcdb98c416ff5d"} device-1 | {"level":"info","message":"OPTIONS /devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287/websocket 200 1ms","method":"OPTIONS","requestID":"a971290c89f05b2cf4bcdb98c416ff5d","responseTime":1,"status":200,"url":"/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2Nn0.PibabJ7be3Ossf7OFhDT66iFlF1S56DtwNC9cO1RmJ4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2b6043f1e4992eeba339dfdd2fd5ddeb","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.965096,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162766,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2Nn0.PibabJ7be3Ossf7OFhDT66iFlF1S56DtwNC9cO1RmJ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b6043f1e4992eeba339dfdd2fd5ddeb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2b6043f1e4992eeba339dfdd2fd5ddeb"} device-1 | {"level":"info","message":"POST /devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287/websocket 200 26ms","method":"POST","requestID":"2b6043f1e4992eeba339dfdd2fd5ddeb","responseTime":26,"status":200,"url":"/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2Nn0.PibabJ7be3Ossf7OFhDT66iFlF1S56DtwNC9cO1RmJ4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c2e51ebede12ae2a37f347ed763595d4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.691694,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162766,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2Nn0.PibabJ7be3Ossf7OFhDT66iFlF1S56DtwNC9cO1RmJ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c2e51ebede12ae2a37f347ed763595d4"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5145eff3-9a82-4ab5-8c8f-9452a81b4287","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5145eff3-9a82-4ab5-8c8f-9452a81b4287","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:04.327438416Z"}]},"request_id":"17ae0c3c-ed22-4ef1-aec0-509c1f39b143","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162766.3164103} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c2e51ebede12ae2a37f347ed763595d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c2e51ebede12ae2a37f347ed763595d4"} device-1 | {"level":"info","message":"GET /devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287? 200 10ms","method":"GET","requestID":"c2e51ebede12ae2a37f347ed763595d4","responseTime":10,"status":200,"url":"/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2Nn0.PibabJ7be3Ossf7OFhDT66iFlF1S56DtwNC9cO1RmJ4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d2b1eec552892416f78155a5d8925f7d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.695467,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162766,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2Nn0.PibabJ7be3Ossf7OFhDT66iFlF1S56DtwNC9cO1RmJ4"} 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":"d2b1eec552892416f78155a5d8925f7d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:04.367514632Z"}]},"request_id":"c32f7264-196f-42ce-9925-db604ad84108","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162766.3316567} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2b1eec552892416f78155a5d8925f7d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ba888b95-fa93-4dae-8afa-11a7db39837f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d2b1eec552892416f78155a5d8925f7d"} device-1 | {"level":"info","message":"GET /devices/ba888b95-fa93-4dae-8afa-11a7db39837f? 200 11ms","method":"GET","requestID":"d2b1eec552892416f78155a5d8925f7d","responseTime":11,"status":200,"url":"/devices/ba888b95-fa93-4dae-8afa-11a7db39837f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2Nn0.PibabJ7be3Ossf7OFhDT66iFlF1S56DtwNC9cO1RmJ4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5a8870bbd657a584c529b179320d2467","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:52962","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.662959,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162766,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2Nn0.PibabJ7be3Ossf7OFhDT66iFlF1S56DtwNC9cO1RmJ4"} 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":"5a8870bbd657a584c529b179320d2467"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"},"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:52962","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.891665,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162766,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2Nn0.PibabJ7be3Ossf7OFhDT66iFlF1S56DtwNC9cO1RmJ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95b793e0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.901738,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162766,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2Nn0.PibabJ7be3Ossf7OFhDT66iFlF1S56DtwNC9cO1RmJ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95b7baf0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5145eff3-9a82-4ab5-8c8f-9452a81b4287","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5145eff3-9a82-4ab5-8c8f-9452a81b4287","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:04.327438416Z"}]},"request_id":"c4396a43-9071-4a14-af85-c69116443b34","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162766.3745644} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95b793e0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:04.367514632Z"}]},"request_id":"4abfafba-8128-4637-8c26-81d089567864","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162766.3753226} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95b7baf0-0d22-11ef-9118-35435c36490d"},"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/5145eff3-9a82-4ab5-8c8f-9452a81b4287? 200 13ms","method":"GET","requestID":"95b793e0-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ba888b95-fa93-4dae-8afa-11a7db39837f? 200 13ms","method":"GET","requestID":"95b7baf0-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/ba888b95-fa93-4dae-8afa-11a7db39837f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"},"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/ff2d68e0-120f-42a0-9f25-4a24a1707184"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.21717,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162766,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2Nn0.PibabJ7be3Ossf7OFhDT66iFlF1S56DtwNC9cO1RmJ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95c01f60-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.276896,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162766,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2Nn0.PibabJ7be3Ossf7OFhDT66iFlF1S56DtwNC9cO1RmJ4"} 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":"95c04670-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5145eff3-9a82-4ab5-8c8f-9452a81b4287","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5145eff3-9a82-4ab5-8c8f-9452a81b4287","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:04.327438416Z"}]},"request_id":"799bc3fd-f32f-4dd8-8309-96ccefbf80f6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162766.4344707} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:04.367514632Z"}]},"request_id":"ce820d25-8e49-4111-bc64-ed719188a944","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162766.4358969} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95c01f60-0d22-11ef-9118-35435c36490d"},"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:58626","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95c04670-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5145eff3-9a82-4ab5-8c8f-9452a81b4287","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48b4f974-ebb3-4727-ae81-74de1a803bf0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162766.437837} authorization-1 | {"client_addr":"127.0.0.1:58626","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.491053,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95c09490-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287? 200 21ms","method":"GET","requestID":"95c01f60-0d22-11ef-9118-35435c36490d","responseTime":21,"status":200,"url":"/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fff2d68e0-120f-42a0-9f25-4a24a1707184#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fff2d68e0-120f-42a0-9f25-4a24a1707184","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"4ef1dd16-9702-4712-89db-9fdb2a9b5269","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162766.4432688} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/ba888b95-fa93-4dae-8afa-11a7db39837f? 200 21ms","method":"GET","requestID":"95c04670-0d22-11ef-9118-35435c36490d","responseTime":21,"status":200,"url":"/devices/ba888b95-fa93-4dae-8afa-11a7db39837f?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e2d84224-0010-4db4-9d03-33d6a3ceae42","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162766.443632} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} 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":"5a8870bbd657a584c529b179320d2467"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"POST /devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287/signaling 200 21ms","method":"POST","requestID":"95c09490-0d22-11ef-9118-35435c36490d","responseTime":21,"status":200,"url":"/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:06Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5145eff3-9a82-4ab5-8c8f-9452a81b4287","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47cf843a-8978-4bc8-9c01-4534fcf62c61","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162766.452888} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.678642,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:06Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"08/May/2024:10:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.120","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5a8870bbd657a584c529b179320d2467"} 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":"95c41700-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"level":"info","message":"POST /experiments? 201 116ms","method":"POST","requestID":"5a8870bbd657a584c529b179320d2467","responseTime":116,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1c31e736-fc62-46c8-94bf-785d0eea9ddf","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162766.456829} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.897916,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","object_type":"device","rebac_allow":false,"scope_allow":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":"95c4b340-0d22-11ef-9118-35435c36490d"},"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/5145eff3-9a82-4ab5-8c8f-9452a81b4287/signaling 200 12ms","method":"POST","requestID":"95c41700-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2Nn0.PibabJ7be3Ossf7OFhDT66iFlF1S56DtwNC9cO1RmJ4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"87057118a1d30e7c949d206a5e7f6f7a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/ba888b95-fa93-4dae-8afa-11a7db39837f/signaling 200 10ms","method":"POST","requestID":"95c4b340-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/ba888b95-fa93-4dae-8afa-11a7db39837f/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.893465,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162766,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2Nn0.PibabJ7be3Ossf7OFhDT66iFlF1S56DtwNC9cO1RmJ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87057118a1d30e7c949d206a5e7f6f7a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"34690299-c03a-426a-bc9f-7f932fd96e3b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162766.469074} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.243194,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","object_type":"device","rebac_allow":false,"scope_allow":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":"95c68800-0d22-11ef-9118-35435c36490d"},"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/ba888b95-fa93-4dae-8afa-11a7db39837f/signaling 200 10ms","method":"POST","requestID":"95c68800-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/ba888b95-fa93-4dae-8afa-11a7db39837f/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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5145eff3-9a82-4ab5-8c8f-9452a81b4287","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5145eff3-9a82-4ab5-8c8f-9452a81b4287","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:04.327438416Z"}]},"request_id":"3bc7b40e-06b9-4651-b0e1-2f6be29ef554","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162766.475247} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"},"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":"2c21f499-7994-469d-aee8-61706231b9c5"},{"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":"976a1607-c2ba-4341-bbcd-31c92a7b0687"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"dd764128-b077-45d0-a5cc-adba7de91902"}]},"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/ba888b95-fa93-4dae-8afa-11a7db39837f"},{"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/5145eff3-9a82-4ab5-8c8f-9452a81b4287"}],"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":"87057118a1d30e7c949d206a5e7f6f7a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"87057118a1d30e7c949d206a5e7f6f7a"} device-1 | {"level":"info","message":"GET /devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287? 200 18ms","method":"GET","requestID":"87057118a1d30e7c949d206a5e7f6f7a","responseTime":18,"status":200,"url":"/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287?"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.693155,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162766,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2Nn0.PibabJ7be3Ossf7OFhDT66iFlF1S56DtwNC9cO1RmJ4"} 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":"95c8aae0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2Nn0.PibabJ7be3Ossf7OFhDT66iFlF1S56DtwNC9cO1RmJ4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0474ed7bac9d478cc28d0e8aa7121439","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.09033,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162766,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2Nn0.PibabJ7be3Ossf7OFhDT66iFlF1S56DtwNC9cO1RmJ4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0474ed7bac9d478cc28d0e8aa7121439"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"01f5ca89-f249-423a-9ea1-2d1de4d03fcf","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162766.498664} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:04.367514632Z"}]},"request_id":"fb725d08-86f7-4f4d-a96b-dd988272f7e7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162766.4995606} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa7f44ae-3a94-4b99-8ad2-2aa66b882ea2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162766.4999738} 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":"0474ed7bac9d478cc28d0e8aa7121439"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} 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":"95c8aae0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ba888b95-fa93-4dae-8afa-11a7db39837f? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0474ed7bac9d478cc28d0e8aa7121439"} device-1 | {"level":"info","message":"GET /devices/ba888b95-fa93-4dae-8afa-11a7db39837f? 200 20ms","method":"GET","requestID":"0474ed7bac9d478cc28d0e8aa7121439","responseTime":20,"status":200,"url":"/devices/ba888b95-fa93-4dae-8afa-11a7db39837f?"} 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/20b1d57b-8009-4c5e-89a7-37da96536993'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/20b1d57b-8009-4c5e-89a7-37da96536993'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 52ms","method":"POST","requestID":"95c8aae0-0d22-11ef-9118-35435c36490d","responseTime":52,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5145eff3-9a82-4ab5-8c8f-9452a81b4287","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7513217-b035-41a8-a4ec-08507aac10aa","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162766.562999} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.799095,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","object_type":"device","rebac_allow":false,"scope_allow":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":"95d4dfe0-0d22-11ef-9118-35435c36490d"},"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/5145eff3-9a82-4ab5-8c8f-9452a81b4287/signaling 200 14ms","method":"POST","requestID":"95d4dfe0-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d9c1e2b-ad06-45e8-99f6-521361ea3245","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162766.578794} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.109901,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","object_type":"device","rebac_allow":false,"scope_allow":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":"95d750e0-0d22-11ef-9118-35435c36490d"},"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/ba888b95-fa93-4dae-8afa-11a7db39837f/signaling 200 9ms","method":"POST","requestID":"95d750e0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/ba888b95-fa93-4dae-8afa-11a7db39837f/signaling"} device-1 | {"data":{"peerconnection":"20b1d57b-8009-4c5e-89a7-37da96536993","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/20b1d57b-8009-4c5e-89a7-37da96536993' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"20b1d57b-8009-4c5e-89a7-37da96536993","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":"ceedb61a40ab115b91241fa50dce9450","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f"},{"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/5145eff3-9a82-4ab5-8c8f-9452a81b4287"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/20b1d57b-8009-4c5e-89a7-37da96536993"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"ceedb61a40ab115b91241fa50dce9450","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"ceedb61a40ab115b91241fa50dce9450"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287'"} device-1 | {"data":{"peerconnection":"20b1d57b-8009-4c5e-89a7-37da96536993","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"20b1d57b-8009-4c5e-89a7-37da96536993","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/20b1d57b-8009-4c5e-89a7-37da96536993' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"20b1d57b-8009-4c5e-89a7-37da96536993","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":"d21f7d4e590cb386e3664c3367a99a97","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/ba888b95-fa93-4dae-8afa-11a7db39837f"},{"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/5145eff3-9a82-4ab5-8c8f-9452a81b4287"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/20b1d57b-8009-4c5e-89a7-37da96536993"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F20b1d57b-8009-4c5e-89a7-37da96536993","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3aa1db59-a16c-44b3-8b21-76af3cfe5d7a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162768.6790175} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.972942,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/20b1d57b-8009-4c5e-89a7-37da96536993","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/20b1d57b-8009-4c5e-89a7-37da96536993","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":"97179910-0d22-11ef-9118-35435c36490d"},"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/20b1d57b-8009-4c5e-89a7-37da96536993 200 10ms","method":"GET","requestID":"97179910-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/peerconnections/20b1d57b-8009-4c5e-89a7-37da96536993"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"d21f7d4e590cb386e3664c3367a99a97","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"d21f7d4e590cb386e3664c3367a99a97"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a4e80f9a-1883-4c29-8171-37ce6445511f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162768.703565} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.122673,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"971b90b0-0d22-11ef-9118-35435c36490d"},"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/ba888b95-fa93-4dae-8afa-11a7db39837f/signaling 200 9ms","method":"POST","requestID":"971b90b0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/ba888b95-fa93-4dae-8afa-11a7db39837f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5145eff3-9a82-4ab5-8c8f-9452a81b4287","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66140b83-1f3e-4b2c-bc4e-5e8ceea8ea6e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162768.7144473} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.133611,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"971d3e60-0d22-11ef-9118-35435c36490d"},"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/5145eff3-9a82-4ab5-8c8f-9452a81b4287/signaling 200 9ms","method":"POST","requestID":"971d3e60-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2OH0.FH6GlWmotw-7pVQLyXDMldio-p2C59LiSvfUqHTIbRU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2609c50930e9d4a51c384f67c6e36492","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.668195,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162768,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2OH0.FH6GlWmotw-7pVQLyXDMldio-p2C59LiSvfUqHTIbRU"} 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":"2609c50930e9d4a51c384f67c6e36492"},"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/ff2d68e0-120f-42a0-9f25-4a24a1707184"} gateway-1 | {"time_local":"08/May/2024:10:06:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184 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":"2609c50930e9d4a51c384f67c6e36492"} experiment-1 | {"level":"info","message":"GET /experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184 200 10ms","method":"GET","requestID":"2609c50930e9d4a51c384f67c6e36492","responseTime":10,"status":200,"url":"/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2OH0.FH6GlWmotw-7pVQLyXDMldio-p2C59LiSvfUqHTIbRU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"50bf9a99b2b829be2d45736b6616f696","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.706291,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162768,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2OH0.FH6GlWmotw-7pVQLyXDMldio-p2C59LiSvfUqHTIbRU"} 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":"50bf9a99b2b829be2d45736b6616f696"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.67503,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/20b1d57b-8009-4c5e-89a7-37da96536993","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/20b1d57b-8009-4c5e-89a7-37da96536993","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162768,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2OH0.FH6GlWmotw-7pVQLyXDMldio-p2C59LiSvfUqHTIbRU"} 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":"9727c5b0-0d22-11ef-9118-35435c36490d"},"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/20b1d57b-8009-4c5e-89a7-37da96536993' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/20b1d57b-8009-4c5e-89a7-37da96536993' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"20b1d57b-8009-4c5e-89a7-37da96536993","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F20b1d57b-8009-4c5e-89a7-37da96536993': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F20b1d57b-8009-4c5e-89a7-37da96536993","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"c363fa7d-f9ef-44a7-9ea8-2d9db247199e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162768.7950337} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cb5869a7-b2d4-464f-90b3-a1e1ad010689","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162768.7953563} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d62297574ed2b60420b5fdd23a0fbcbe","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":"9727c5b0-0d22-11ef-9118-35435c36490d"},"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","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/ba888b95-fa93-4dae-8afa-11a7db39837f"},{"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/5145eff3-9a82-4ab5-8c8f-9452a81b4287"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/20b1d57b-8009-4c5e-89a7-37da96536993"}}},"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":"9dd4ea05857b97a7f1e088119105100a","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/ba888b95-fa93-4dae-8afa-11a7db39837f"},{"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/5145eff3-9a82-4ab5-8c8f-9452a81b4287"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/20b1d57b-8009-4c5e-89a7-37da96536993"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/20b1d57b-8009-4c5e-89a7-37da96536993 204 22ms","method":"DELETE","requestID":"9727c5b0-0d22-11ef-9118-35435c36490d","responseTime":22,"status":204,"url":"/peerconnections/20b1d57b-8009-4c5e-89a7-37da96536993"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"},"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/5145eff3-9a82-4ab5-8c8f-9452a81b4287'"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fba888b95-fa93-4dae-8afa-11a7db39837f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1447b058-d94a-4171-aa48-1fec36d34dfd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162768.8258293} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.284059,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"972e2e50-0d22-11ef-9118-35435c36490d"},"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/ba888b95-fa93-4dae-8afa-11a7db39837f/signaling 200 9ms","method":"POST","requestID":"972e2e50-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/ba888b95-fa93-4dae-8afa-11a7db39837f/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fff2d68e0-120f-42a0-9f25-4a24a1707184': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fff2d68e0-120f-42a0-9f25-4a24a1707184","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"ab08596a-fbe6-4885-8ac5-974513762135","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162768.831322} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e9734f4a-4fc4-4241-9a47-92d0d379f3af","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162768.831846} 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":"50bf9a99b2b829be2d45736b6616f696"},"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:52962","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5145eff3-9a82-4ab5-8c8f-9452a81b4287","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f6b7c8a6-6ace-4ffc-9772-c87e55c67d86","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162768.8369756} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.076918,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287","object_type":"device","rebac_allow":false,"scope_allow":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":"97300310-0d22-11ef-9118-35435c36490d"},"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/5145eff3-9a82-4ab5-8c8f-9452a81b4287/signaling 200 8ms","method":"POST","requestID":"97300310-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/5145eff3-9a82-4ab5-8c8f-9452a81b4287/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"} gateway-1 | {"time_local":"08/May/2024:10:06:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.113","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"50bf9a99b2b829be2d45736b6616f696"} experiment-1 | {"level":"info","message":"DELETE /experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184 204 109ms","method":"DELETE","requestID":"50bf9a99b2b829be2d45736b6616f696","responseTime":109,"status":204,"url":"/experiments/ff2d68e0-120f-42a0-9f25-4a24a1707184"} gateway-1 | {"time_local":"08/May/2024:10:06:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3230","request_time":"3.944","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3d8728c049d666026953b83fc2526987"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 84ms","method":"POST","requestID":"d62297574ed2b60420b5fdd23a0fbcbe","responseTime":84,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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.087","http_referrer":"","http_user_agent":"node-fetch","requestID":"d62297574ed2b60420b5fdd23a0fbcbe"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2OH0.FH6GlWmotw-7pVQLyXDMldio-p2C59LiSvfUqHTIbRU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"88621005a1bcce3b4d92ebe4983dc670","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 89ms","method":"POST","requestID":"9dd4ea05857b97a7f1e088119105100a","responseTime":89,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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.094","http_referrer":"","http_user_agent":"node-fetch","requestID":"9dd4ea05857b97a7f1e088119105100a"} gateway-1 | {"time_local":"08/May/2024:10:06:08 +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.597","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5e308c8f1a765dd4df874dd5c639fd6e"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.984213,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162768,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2OH0.FH6GlWmotw-7pVQLyXDMldio-p2C59LiSvfUqHTIbRU"} 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":"88621005a1bcce3b4d92ebe4983dc670"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ba888b95-fa93-4dae-8afa-11a7db39837f' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F694da12f-ff6f-4a48-9a71-aa0ab660af98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5ff2715c-686a-4c44-90cf-69763c7733af","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162768.9126046} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"88621005a1bcce3b4d92ebe4983dc670"},"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/5145eff3-9a82-4ab5-8c8f-9452a81b4287' 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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4dd514b-973b-453c-8070-ed8edaa89e9d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162768.918353} 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":"88621005a1bcce3b4d92ebe4983dc670"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F694da12f-ff6f-4a48-9a71-aa0ab660af98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"b786dcf0-1e0a-4051-a7a0-48f94fe6de73","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162768.927687} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99bff1bc-4c14-49f8-8adf-6cd34669f2bc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162768.9277537} 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":"88621005a1bcce3b4d92ebe4983dc670"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F694da12f-ff6f-4a48-9a71-aa0ab660af98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F694da12f-ff6f-4a48-9a71-aa0ab660af98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:08.927657986Z"}]},"request_id":"5bbbe8df-9fab-400b-9653-3dadce82a368","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162768.932114} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"88621005a1bcce3b4d92ebe4983dc670"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"88621005a1bcce3b4d92ebe4983dc670"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"88621005a1bcce3b4d92ebe4983dc670","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2OH0.FH6GlWmotw-7pVQLyXDMldio-p2C59LiSvfUqHTIbRU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ac40adf1240b0548dc2f1d2963d65f47","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.945631,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162768,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2OH0.FH6GlWmotw-7pVQLyXDMldio-p2C59LiSvfUqHTIbRU"} 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":"ac40adf1240b0548dc2f1d2963d65f47"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a13d6c1a-9016-442b-bdbf-24a2cedd3d0e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162768.9584064} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac40adf1240b0548dc2f1d2963d65f47"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"12da59b3-5204-4cef-9892-0bf8d7c924b4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162768.963421} 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":"ac40adf1240b0548dc2f1d2963d65f47"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"66deb513-b2ff-4821-82e5-ddd02e4a1ec0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162768.9723907} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2bf9a397-af1e-46f8-b11b-7b499a065aa7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162768.972605} 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":"ac40adf1240b0548dc2f1d2963d65f47"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:08.972369729Z"}]},"request_id":"0e9421bb-593e-4b52-b6d8-195e81604be5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162768.9777608} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac40adf1240b0548dc2f1d2963d65f47"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ac40adf1240b0548dc2f1d2963d65f47"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"ac40adf1240b0548dc2f1d2963d65f47","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2OX0.-DXfFMnwoOuP0SPb5XF9uFAlj5h15j5kGRst3Og8oiI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ac2a30107f12bb6b1a412ed3bc7516c8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.725656,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162769,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2OX0.-DXfFMnwoOuP0SPb5XF9uFAlj5h15j5kGRst3Og8oiI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac2a30107f12bb6b1a412ed3bc7516c8"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:08.972369729Z"}]},"request_id":"a811fb08-0652-4997-8b0f-8ee21f1f8fc5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162769.500457} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac2a30107f12bb6b1a412ed3bc7516c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77d0f48a-9535-47f1-a64c-002e5378ace9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162769.5053778} 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":"ac2a30107f12bb6b1a412ed3bc7516c8"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:08.972369729Z"}]},"request_id":"ad54da9b-6acf-4841-a84f-d8b69dc04adf","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162769.5194464} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac2a30107f12bb6b1a412ed3bc7516c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.035","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"ac2a30107f12bb6b1a412ed3bc7516c8"} device-1 | {"level":"info","message":"PATCH /devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6 200 31ms","method":"PATCH","requestID":"ac2a30107f12bb6b1a412ed3bc7516c8","responseTime":31,"status":200,"url":"/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2OX0.-DXfFMnwoOuP0SPb5XF9uFAlj5h15j5kGRst3Og8oiI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"280ed00836528bcab4fcb360a9b0d1b6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:09Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685045,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162769,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc2OX0.-DXfFMnwoOuP0SPb5XF9uFAlj5h15j5kGRst3Og8oiI"} 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":"280ed00836528bcab4fcb360a9b0d1b6"},"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/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6/websocket 200 16ms","method":"POST","requestID":"280ed00836528bcab4fcb360a9b0d1b6","responseTime":16,"status":200,"url":"/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6/websocket"} gateway-1 | {"time_local":"08/May/2024:10:06:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6/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":"280ed00836528bcab4fcb360a9b0d1b6"} device-1 | {"level":"info","message":"device 'http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6' 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":"1decf2fc00f640151f2bca74b6817d01","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:06:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/694da12f-ff6f-4a48-9a71-aa0ab660af98/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":"1decf2fc00f640151f2bca74b6817d01"} device-1 | {"level":"info","message":"OPTIONS /devices/694da12f-ff6f-4a48-9a71-aa0ab660af98/websocket 200 1ms","method":"OPTIONS","requestID":"1decf2fc00f640151f2bca74b6817d01","responseTime":1,"status":200,"url":"/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3MH0.at6xTps6-9VpDR7reAikQ7-qcyWK8YzZAdUnMokGi-Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6fc49021547402b27d9928294741b617","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.019937,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162770,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3MH0.at6xTps6-9VpDR7reAikQ7-qcyWK8YzZAdUnMokGi-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6fc49021547402b27d9928294741b617"},"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/694da12f-ff6f-4a48-9a71-aa0ab660af98/websocket 200 28ms","method":"POST","requestID":"6fc49021547402b27d9928294741b617","responseTime":28,"status":200,"url":"/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98/websocket"} gateway-1 | {"time_local":"08/May/2024:10:06:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/694da12f-ff6f-4a48-9a71-aa0ab660af98/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":"6fc49021547402b27d9928294741b617"} device-1 | {"level":"info","message":"device 'http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3MH0.at6xTps6-9VpDR7reAikQ7-qcyWK8YzZAdUnMokGi-Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c9ebc0666f6c8d32f2830b938053c5bb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.710087,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162770,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3MH0.at6xTps6-9VpDR7reAikQ7-qcyWK8YzZAdUnMokGi-Y"} 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":"c9ebc0666f6c8d32f2830b938053c5bb"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F694da12f-ff6f-4a48-9a71-aa0ab660af98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F694da12f-ff6f-4a48-9a71-aa0ab660af98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:08.927657986Z"}]},"request_id":"ad55adf3-2047-40e5-a611-bd3a71a20fe9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162770.9358218} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9ebc0666f6c8d32f2830b938053c5bb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/694da12f-ff6f-4a48-9a71-aa0ab660af98? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c9ebc0666f6c8d32f2830b938053c5bb"} device-1 | {"level":"info","message":"GET /devices/694da12f-ff6f-4a48-9a71-aa0ab660af98? 200 10ms","method":"GET","requestID":"c9ebc0666f6c8d32f2830b938053c5bb","responseTime":10,"status":200,"url":"/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3MH0.at6xTps6-9VpDR7reAikQ7-qcyWK8YzZAdUnMokGi-Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b6567768d15b94138554449b75cd9e6b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.707444,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162770,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3MH0.at6xTps6-9VpDR7reAikQ7-qcyWK8YzZAdUnMokGi-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6567768d15b94138554449b75cd9e6b"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:08.972369729Z"}]},"request_id":"2ffe1b78-bb2c-4302-9022-2a07a85f5a9b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162770.9511847} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6567768d15b94138554449b75cd9e6b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b6567768d15b94138554449b75cd9e6b"} device-1 | {"level":"info","message":"GET /devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6? 200 10ms","method":"GET","requestID":"b6567768d15b94138554449b75cd9e6b","responseTime":10,"status":200,"url":"/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3MH0.at6xTps6-9VpDR7reAikQ7-qcyWK8YzZAdUnMokGi-Y","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dbcb268fdcf7db85bd574140f34fd72e","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:52962","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.952395,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:10Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162770,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3MH0.at6xTps6-9VpDR7reAikQ7-qcyWK8YzZAdUnMokGi-Y"} 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":"dbcb268fdcf7db85bd574140f34fd72e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"},"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:52962","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.624114,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162770,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3MH0.at6xTps6-9VpDR7reAikQ7-qcyWK8YzZAdUnMokGi-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"987b6ed0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.628318,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162770,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3MH0.at6xTps6-9VpDR7reAikQ7-qcyWK8YzZAdUnMokGi-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"987b95e0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F694da12f-ff6f-4a48-9a71-aa0ab660af98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F694da12f-ff6f-4a48-9a71-aa0ab660af98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:08.927657986Z"}]},"request_id":"f358dfdc-ffd4-4003-825b-8002f178241b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162771.0140486} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"987b6ed0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:08.972369729Z"}]},"request_id":"8bba7f4e-292b-45d8-8ca1-8429daf50e35","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162771.0150325} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"987b95e0-0d22-11ef-9118-35435c36490d"},"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/694da12f-ff6f-4a48-9a71-aa0ab660af98? 200 14ms","method":"GET","requestID":"987b6ed0-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6? 200 14ms","method":"GET","requestID":"987b95e0-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"},"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:52962","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:11Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.083844,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162770,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3MH0.at6xTps6-9VpDR7reAikQ7-qcyWK8YzZAdUnMokGi-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98833700-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.967754,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162770,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3MH0.at6xTps6-9VpDR7reAikQ7-qcyWK8YzZAdUnMokGi-Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98835e10-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F694da12f-ff6f-4a48-9a71-aa0ab660af98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2c850ae1-7ef9-41cd-960f-cc109b675ed1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162771.0666153} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F694da12f-ff6f-4a48-9a71-aa0ab660af98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F694da12f-ff6f-4a48-9a71-aa0ab660af98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:08.927657986Z"}]},"request_id":"d708b3e5-631a-407c-a838-b2d9b1a4b565","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162771.0679724} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.070139,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","object_type":"device","rebac_allow":false,"scope_allow":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":"9883d340-0d22-11ef-9118-35435c36490d"},"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":"98833700-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:08.972369729Z"}]},"request_id":"a851b9bb-0005-4066-ae82-7116a8fa6cc0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162771.0690515} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98835e10-0d22-11ef-9118-35435c36490d"},"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/694da12f-ff6f-4a48-9a71-aa0ab660af98/signaling 200 16ms","method":"POST","requestID":"9883d340-0d22-11ef-9118-35435c36490d","responseTime":16,"status":200,"url":"/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/694da12f-ff6f-4a48-9a71-aa0ab660af98? 200 22ms","method":"GET","requestID":"98833700-0d22-11ef-9118-35435c36490d","responseTime":22,"status":200,"url":"/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0d469137-71e3-4a41-ab38-b05fcd736a02#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0d469137-71e3-4a41-ab38-b05fcd736a02","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"45aa8b9e-7c6e-4d6f-9e3d-6c8e9b600f63","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162771.0783193} 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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5c91bbe-6956-4fac-b74c-94702334e4d3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162771.0786254} device-1 | {"level":"info","message":"GET /devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6? 200 22ms","method":"GET","requestID":"98835e10-0d22-11ef-9118-35435c36490d","responseTime":22,"status":200,"url":"/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6?"} 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":"dbcb268fdcf7db85bd574140f34fd72e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f79fade-c810-4e89-b91a-20c08e20a9b9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162771.08518} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.773123,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9886e080-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F694da12f-ff6f-4a48-9a71-aa0ab660af98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5893e43c-526a-4cbf-841d-3ae44e463a19","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162771.087305} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.066496,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:11Z"} gateway-1 | {"time_local":"08/May/2024:10:06:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dbcb268fdcf7db85bd574140f34fd72e"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98872ea0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"level":"info","message":"POST /experiments? 201 129ms","method":"POST","requestID":"dbcb268fdcf7db85bd574140f34fd72e","responseTime":129,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"POST /devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6/signaling 200 10ms","method":"POST","requestID":"9886e080-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/694da12f-ff6f-4a48-9a71-aa0ab660af98/signaling 200 11ms","method":"POST","requestID":"98872ea0-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3MX0.-Q2irCwehBr1nPub7S1hkOs-gOckJpzCnyaybJ_NXeU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dc0786e18591eaf556e0e7723557c076","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:52962","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.601831,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162771,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3MX0.-Q2irCwehBr1nPub7S1hkOs-gOckJpzCnyaybJ_NXeU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc0786e18591eaf556e0e7723557c076"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"571b2717-0c75-461d-87e5-020fc63e2ef0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162771.1009848} authorization-1 | {"client_addr":"127.0.0.1:35722","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.243789,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","object_type":"device","rebac_allow":false,"scope_allow":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":"98895180-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F694da12f-ff6f-4a48-9a71-aa0ab660af98","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F694da12f-ff6f-4a48-9a71-aa0ab660af98","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:08.927657986Z"}]},"request_id":"470c37ec-8c8d-4613-854d-7b7c462c5598","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162771.1033518} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc0786e18591eaf556e0e7723557c076"},"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/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6/signaling 200 14ms","method":"POST","requestID":"98895180-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/694da12f-ff6f-4a48-9a71-aa0ab660af98? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc0786e18591eaf556e0e7723557c076"} device-1 | {"level":"info","message":"GET /devices/694da12f-ff6f-4a48-9a71-aa0ab660af98? 200 17ms","method":"GET","requestID":"dc0786e18591eaf556e0e7723557c076","responseTime":17,"status":200,"url":"/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"},"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":"ef8feaa7-eb5e-4fc9-8450-9a1ced38bc18"},{"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":"bdf43c0c-9fe0-4be2-8c4a-bc8fbf96dd4b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d34782c4-72e9-4a6f-9d71-5f558e77f6c7"}]},"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/694da12f-ff6f-4a48-9a71-aa0ab660af98"},{"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/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3MX0.-Q2irCwehBr1nPub7S1hkOs-gOckJpzCnyaybJ_NXeU","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ecc621b4c4b3dd11293b4798d70dadf4","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:11Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.805301,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162770,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3MH0.at6xTps6-9VpDR7reAikQ7-qcyWK8YzZAdUnMokGi-Y"} 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":"988bc280-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.756636,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162771,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3MX0.-Q2irCwehBr1nPub7S1hkOs-gOckJpzCnyaybJ_NXeU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ecc621b4c4b3dd11293b4798d70dadf4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"946892b0-2230-4ffa-aaff-2b85b737e001","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162771.1246018} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4f287cc4-1089-4841-bafb-9560b332baf0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162771.1249106} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:08.972369729Z"}]},"request_id":"a5182f99-6059-4f53-a476-ea20876d83b0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162771.1258934} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ecc621b4c4b3dd11293b4798d70dadf4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"988bc280-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ecc621b4c4b3dd11293b4798d70dadf4"} device-1 | {"level":"info","message":"GET /devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6? 200 16ms","method":"GET","requestID":"ecc621b4c4b3dd11293b4798d70dadf4","responseTime":16,"status":200,"url":"/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6?"} 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/ec593727-c57d-4e8c-99d0-e0124f48ecb6'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ec593727-c57d-4e8c-99d0-e0124f48ecb6'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 27ms","method":"POST","requestID":"988bc280-0d22-11ef-9118-35435c36490d","responseTime":27,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.550797,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F694da12f-ff6f-4a48-9a71-aa0ab660af98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"769f2813-732d-48d3-902e-59dcc5f90795","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162771.1705456} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","object_type":"device","rebac_allow":false,"scope_allow":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":"9893d8d0-0d22-11ef-9118-35435c36490d"},"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/694da12f-ff6f-4a48-9a71-aa0ab660af98/signaling 200 10ms","method":"POST","requestID":"9893d8d0-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8907c56d-2e8d-40e3-87f1-3d4abfd6b519","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162771.1831431} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.68469,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:11Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9895d4a0-0d22-11ef-9118-35435c36490d"},"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/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6/signaling 200 12ms","method":"POST","requestID":"9895d4a0-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6/signaling"} device-1 | {"data":{"peerconnection":"ec593727-c57d-4e8c-99d0-e0124f48ecb6","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/694da12f-ff6f-4a48-9a71-aa0ab660af98'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ec593727-c57d-4e8c-99d0-e0124f48ecb6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ec593727-c57d-4e8c-99d0-e0124f48ecb6","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":"36472ab5390634b2d1b2a40bef35c452","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/694da12f-ff6f-4a48-9a71-aa0ab660af98"},{"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/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ec593727-c57d-4e8c-99d0-e0124f48ecb6"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"36472ab5390634b2d1b2a40bef35c452","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:13 +0000","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":"36472ab5390634b2d1b2a40bef35c452"} device-1 | {"data":{"peerconnection":"ec593727-c57d-4e8c-99d0-e0124f48ecb6","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ec593727-c57d-4e8c-99d0-e0124f48ecb6","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/ec593727-c57d-4e8c-99d0-e0124f48ecb6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ec593727-c57d-4e8c-99d0-e0124f48ecb6","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":"91231eb82240a33d93b6e0ed4c91c20b","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/694da12f-ff6f-4a48-9a71-aa0ab660af98"},{"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/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ec593727-c57d-4e8c-99d0-e0124f48ecb6"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:13Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fec593727-c57d-4e8c-99d0-e0124f48ecb6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af6b9919-0e87-4d71-9024-8883312ade50","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162773.3246706} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.051585,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ec593727-c57d-4e8c-99d0-e0124f48ecb6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ec593727-c57d-4e8c-99d0-e0124f48ecb6","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":"99dcac80-0d22-11ef-9118-35435c36490d"},"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/ec593727-c57d-4e8c-99d0-e0124f48ecb6 200 8ms","method":"GET","requestID":"99dcac80-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/peerconnections/ec593727-c57d-4e8c-99d0-e0124f48ecb6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"91231eb82240a33d93b6e0ed4c91c20b","responseTime":27,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:13 +0000","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":"91231eb82240a33d93b6e0ed4c91c20b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:13Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F694da12f-ff6f-4a48-9a71-aa0ab660af98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b0fd158b-e921-4f07-95a4-5fab06e8b6a4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162773.3463933} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.196278,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99e007e0-0d22-11ef-9118-35435c36490d"},"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/694da12f-ff6f-4a48-9a71-aa0ab660af98/signaling 200 9ms","method":"POST","requestID":"99e007e0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:13Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8391d8ef-eb24-4fe5-a9b5-0fc1e2f83ae3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162773.3590822} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.746079,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99e1b590-0d22-11ef-9118-35435c36490d"},"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/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6/signaling 200 10ms","method":"POST","requestID":"99e1b590-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3M30.AnlFyDK3CwY-b9oJxtEAKFZDFh08ztBsrvygjvfAiNw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"47cb3c0c018c18bd585c39e2f9e65e77","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:13Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.69941,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:13Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162773,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3M30.AnlFyDK3CwY-b9oJxtEAKFZDFh08ztBsrvygjvfAiNw"} 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":"47cb3c0c018c18bd585c39e2f9e65e77"},"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/0d469137-71e3-4a41-ab38-b05fcd736a02"} gateway-1 | {"time_local":"08/May/2024:10:06:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0d469137-71e3-4a41-ab38-b05fcd736a02 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":"47cb3c0c018c18bd585c39e2f9e65e77"} experiment-1 | {"level":"info","message":"GET /experiments/0d469137-71e3-4a41-ab38-b05fcd736a02 200 9ms","method":"GET","requestID":"47cb3c0c018c18bd585c39e2f9e65e77","responseTime":9,"status":200,"url":"/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3M30.AnlFyDK3CwY-b9oJxtEAKFZDFh08ztBsrvygjvfAiNw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6cf2140f820daf6ea159b652ae0636bf","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:13Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.612769,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:13Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162773,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3M30.AnlFyDK3CwY-b9oJxtEAKFZDFh08ztBsrvygjvfAiNw"} 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":"6cf2140f820daf6ea159b652ae0636bf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:13Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.274623,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:13Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ec593727-c57d-4e8c-99d0-e0124f48ecb6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/ec593727-c57d-4e8c-99d0-e0124f48ecb6","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162773,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3M30.AnlFyDK3CwY-b9oJxtEAKFZDFh08ztBsrvygjvfAiNw"} 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":"99ed0030-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ec593727-c57d-4e8c-99d0-e0124f48ecb6' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ec593727-c57d-4e8c-99d0-e0124f48ecb6' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ec593727-c57d-4e8c-99d0-e0124f48ecb6","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":"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/694da12f-ff6f-4a48-9a71-aa0ab660af98"},{"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/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ec593727-c57d-4e8c-99d0-e0124f48ecb6"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fec593727-c57d-4e8c-99d0-e0124f48ecb6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fec593727-c57d-4e8c-99d0-e0124f48ecb6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"6bb6bc85-e3ee-4003-8938-006886cdf627","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162773.4481928} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"318376b8-1909-46d9-8e3d-b0879a6b6aae","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162773.4485087} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"790a2a0fbcefb71c0670dcd88034bc6b","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":"285204c788515bfda4e70327f00768a6","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":"99ed0030-0d22-11ef-9118-35435c36490d"},"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":"connected","url":"http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98"},{"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/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ec593727-c57d-4e8c-99d0-e0124f48ecb6"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device-1 | {"level":"info","message":"DELETE /peerconnections/ec593727-c57d-4e8c-99d0-e0124f48ecb6 204 42ms","method":"DELETE","requestID":"99ed0030-0d22-11ef-9118-35435c36490d","responseTime":42,"status":204,"url":"/peerconnections/ec593727-c57d-4e8c-99d0-e0124f48ecb6"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:13Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F694da12f-ff6f-4a48-9a71-aa0ab660af98","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"807c7838-7d79-48b6-8d9a-cb5b694a9c07","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162773.4891596} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.852361,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98","object_type":"device","rebac_allow":false,"scope_allow":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":"99f58bb0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1440667b-9a09-4c81-aa3b-95f949fe1d58","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162773.4915953} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0d469137-71e3-4a41-ab38-b05fcd736a02': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0d469137-71e3-4a41-ab38-b05fcd736a02","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"f17de2fd-bcd1-4192-9ea0-5b433c899385","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162773.4918878} 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":"6cf2140f820daf6ea159b652ae0636bf"},"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/694da12f-ff6f-4a48-9a71-aa0ab660af98/signaling 200 13ms","method":"POST","requestID":"99f58bb0-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/694da12f-ff6f-4a48-9a71-aa0ab660af98/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:13Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffaf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2f70d105-cea4-4a16-8fad-d4e9b8236421","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162773.5026596} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.164108,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:13Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6","object_type":"device","rebac_allow":false,"scope_allow":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":"99f7d5a0-0d22-11ef-9118-35435c36490d"},"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/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6/signaling 200 9ms","method":"POST","requestID":"99f7d5a0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"} gateway-1 | {"time_local":"08/May/2024:10:06:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0d469137-71e3-4a41-ab38-b05fcd736a02 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.132","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6cf2140f820daf6ea159b652ae0636bf"} experiment-1 | {"level":"info","message":"DELETE /experiments/0d469137-71e3-4a41-ab38-b05fcd736a02 204 129ms","method":"DELETE","requestID":"6cf2140f820daf6ea159b652ae0636bf","responseTime":129,"status":204,"url":"/experiments/0d469137-71e3-4a41-ab38-b05fcd736a02"} gateway-1 | {"time_local":"08/May/2024:10:06:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2837","request_time":"4.004","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6ab753c6d99a8f3c0706a7be278ac3f9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 100ms","method":"POST","requestID":"790a2a0fbcefb71c0670dcd88034bc6b","responseTime":100,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3M30.AnlFyDK3CwY-b9oJxtEAKFZDFh08ztBsrvygjvfAiNw","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 100ms","method":"POST","requestID":"285204c788515bfda4e70327f00768a6","responseTime":100,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:13 +0000","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":"790a2a0fbcefb71c0670dcd88034bc6b"} gateway-1 | {"time_local":"08/May/2024:10:06:13 +0000","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":"285204c788515bfda4e70327f00768a6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"37456c310a6be04e15e014dc7ad7d5d0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/May/2024:10:06:13 +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.649","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"20d852d89c46586c713018c676632ac8"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:13Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/faf4dc43-f3cf-43ed-b8d1-7af7e30d5ec6' closed"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.9193,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162773,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3M30.AnlFyDK3CwY-b9oJxtEAKFZDFh08ztBsrvygjvfAiNw"} 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":"37456c310a6be04e15e014dc7ad7d5d0"},"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/694da12f-ff6f-4a48-9a71-aa0ab660af98' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"aedd65e5-90dd-466a-8cbd-bdb343ac2cf9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162773.5811238} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"37456c310a6be04e15e014dc7ad7d5d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0029e90d-28e5-4173-91cb-18daa62e75d7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162773.5866094} 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":"37456c310a6be04e15e014dc7ad7d5d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"bf12f377-44a6-4c01-8bea-0c93a8a7be8b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162773.5966773} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4479684-f59e-4195-9484-7fbbe52d63ea","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162773.5969064} 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":"37456c310a6be04e15e014dc7ad7d5d0"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:13.596649085Z"}]},"request_id":"30770ae2-abd7-4938-bfb2-a3d5d5525381","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162773.6013176} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"37456c310a6be04e15e014dc7ad7d5d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"37456c310a6be04e15e014dc7ad7d5d0"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"37456c310a6be04e15e014dc7ad7d5d0","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3M30.AnlFyDK3CwY-b9oJxtEAKFZDFh08ztBsrvygjvfAiNw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1cb47388956ea27a95dca1dddec78ca1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:13Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.023076,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:13Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162773,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3M30.AnlFyDK3CwY-b9oJxtEAKFZDFh08ztBsrvygjvfAiNw"} 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":"1cb47388956ea27a95dca1dddec78ca1"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6484612c-532a-448e-a304-15cf80b02beb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"31715328-ba03-4f81-91b5-186c14dc6365","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162773.6285324} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1cb47388956ea27a95dca1dddec78ca1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"449402b0-d659-4c5e-93dd-23dcb831a01d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162773.6344128} 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":"1cb47388956ea27a95dca1dddec78ca1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6484612c-532a-448e-a304-15cf80b02beb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"5dd49f73-dcd2-44d9-8481-839ce65dee41","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162773.644856} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e119bff3-fea3-4144-9adf-f84a16712dce","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162773.6449316} 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":"1cb47388956ea27a95dca1dddec78ca1"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6484612c-532a-448e-a304-15cf80b02beb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6484612c-532a-448e-a304-15cf80b02beb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:13.644825498Z"}]},"request_id":"e8b08324-60f3-4c60-b0ca-a12e05e4ab52","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162773.6491332} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1cb47388956ea27a95dca1dddec78ca1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1cb47388956ea27a95dca1dddec78ca1"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"1cb47388956ea27a95dca1dddec78ca1","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NH0.pOwysoWjjbWzPX8XFhrCJ4pWISW73BSU-8kx9FfziHA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"16d50efb9417a4727e34d08d94a997c4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:14Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.674699,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162774,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NH0.pOwysoWjjbWzPX8XFhrCJ4pWISW73BSU-8kx9FfziHA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"16d50efb9417a4727e34d08d94a997c4"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:13.596649085Z"}]},"request_id":"f1765d5c-ea94-4228-9847-395ecf45d032","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162774.1700306} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"16d50efb9417a4727e34d08d94a997c4"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b12a166-2f13-4006-9bbe-fc12c64bafba","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162774.1746747} 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":"16d50efb9417a4727e34d08d94a997c4"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:13.596649085Z"}]},"request_id":"da3b34b0-f123-4cd5-9fe8-46f6b1d277f7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162774.189378} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"16d50efb9417a4727e34d08d94a997c4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/66fb540a-053d-4b6f-8550-a439d2cbc203 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.034","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"16d50efb9417a4727e34d08d94a997c4"} device-1 | {"level":"info","message":"PATCH /devices/66fb540a-053d-4b6f-8550-a439d2cbc203 200 30ms","method":"PATCH","requestID":"16d50efb9417a4727e34d08d94a997c4","responseTime":30,"status":200,"url":"/devices/66fb540a-053d-4b6f-8550-a439d2cbc203"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NH0.pOwysoWjjbWzPX8XFhrCJ4pWISW73BSU-8kx9FfziHA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"344f9e2e7877a3cb5f19fb7bc8de2ce8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:14Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.686433,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162774,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NH0.pOwysoWjjbWzPX8XFhrCJ4pWISW73BSU-8kx9FfziHA"} 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":"344f9e2e7877a3cb5f19fb7bc8de2ce8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/66fb540a-053d-4b6f-8550-a439d2cbc203/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":"344f9e2e7877a3cb5f19fb7bc8de2ce8"} device-1 | {"level":"info","message":"POST /devices/66fb540a-053d-4b6f-8550-a439d2cbc203/websocket 200 16ms","method":"POST","requestID":"344f9e2e7877a3cb5f19fb7bc8de2ce8","responseTime":16,"status":200,"url":"/devices/66fb540a-053d-4b6f-8550-a439d2cbc203/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203' 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":"2661526a60f4e71c9b249b791caee6d3","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:06:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6484612c-532a-448e-a304-15cf80b02beb/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":"2661526a60f4e71c9b249b791caee6d3"} device-1 | {"level":"info","message":"OPTIONS /devices/6484612c-532a-448e-a304-15cf80b02beb/websocket 200 0ms","method":"OPTIONS","requestID":"2661526a60f4e71c9b249b791caee6d3","responseTime":0,"status":200,"url":"/devices/6484612c-532a-448e-a304-15cf80b02beb/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NX0.y5or5T9NSh-GN02EtaspzVkj4h9hbwM1j_HajZJdfG4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7c225cb874667881e5034dd905e64448","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.686828,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162775,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NX0.y5or5T9NSh-GN02EtaspzVkj4h9hbwM1j_HajZJdfG4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c225cb874667881e5034dd905e64448"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6484612c-532a-448e-a304-15cf80b02beb/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.019","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7c225cb874667881e5034dd905e64448"} device-1 | {"level":"info","message":"POST /devices/6484612c-532a-448e-a304-15cf80b02beb/websocket 200 15ms","method":"POST","requestID":"7c225cb874667881e5034dd905e64448","responseTime":15,"status":200,"url":"/devices/6484612c-532a-448e-a304-15cf80b02beb/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NX0.y5or5T9NSh-GN02EtaspzVkj4h9hbwM1j_HajZJdfG4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d3d357d5640aed91796f2013b837f022","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703191,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162775,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NX0.y5or5T9NSh-GN02EtaspzVkj4h9hbwM1j_HajZJdfG4"} 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":"d3d357d5640aed91796f2013b837f022"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:13.596649085Z"}]},"request_id":"98130cf5-49c5-4f1e-97c8-92c5f0c4cbda","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162775.5935879} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d3d357d5640aed91796f2013b837f022"},"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/66fb540a-053d-4b6f-8550-a439d2cbc203? 200 11ms","method":"GET","requestID":"d3d357d5640aed91796f2013b837f022","responseTime":11,"status":200,"url":"/devices/66fb540a-053d-4b6f-8550-a439d2cbc203?"} gateway-1 | {"time_local":"08/May/2024:10:06:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/66fb540a-053d-4b6f-8550-a439d2cbc203? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d3d357d5640aed91796f2013b837f022"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NX0.y5or5T9NSh-GN02EtaspzVkj4h9hbwM1j_HajZJdfG4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3428decb28b89756b108f70ce6988a35","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.746978,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162775,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NX0.y5or5T9NSh-GN02EtaspzVkj4h9hbwM1j_HajZJdfG4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3428decb28b89756b108f70ce6988a35"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6484612c-532a-448e-a304-15cf80b02beb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6484612c-532a-448e-a304-15cf80b02beb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:13.644825498Z"}]},"request_id":"ea59ed7a-efff-4b3d-868d-41c92d0128e1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162775.6085548} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3428decb28b89756b108f70ce6988a35"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6484612c-532a-448e-a304-15cf80b02beb? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3428decb28b89756b108f70ce6988a35"} device-1 | {"level":"info","message":"GET /devices/6484612c-532a-448e-a304-15cf80b02beb? 200 11ms","method":"GET","requestID":"3428decb28b89756b108f70ce6988a35","responseTime":11,"status":200,"url":"/devices/6484612c-532a-448e-a304-15cf80b02beb?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NX0.y5or5T9NSh-GN02EtaspzVkj4h9hbwM1j_HajZJdfG4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f7c6e59526c194ecba7fa3a09c1b6296","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:52962","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.687705,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162775,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NX0.y5or5T9NSh-GN02EtaspzVkj4h9hbwM1j_HajZJdfG4"} 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":"f7c6e59526c194ecba7fa3a09c1b6296"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"},"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:52962","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.686004,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162775,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NX0.y5or5T9NSh-GN02EtaspzVkj4h9hbwM1j_HajZJdfG4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b400d10-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:46928","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"client_addr":"127.0.0.1:46928","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.016617,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162775,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NX0.y5or5T9NSh-GN02EtaspzVkj4h9hbwM1j_HajZJdfG4"} 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":"9b403420-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:13.596649085Z"}]},"request_id":"e8bc4e63-63fc-4c6f-8bec-fa0fccb895ab","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162775.6570585} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b400d10-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6484612c-532a-448e-a304-15cf80b02beb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6484612c-532a-448e-a304-15cf80b02beb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:13.644825498Z"}]},"request_id":"4a4b7614-8adb-49f5-9a59-0be1d04fb8d8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162775.6607192} 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":"9b403420-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"GET /devices/66fb540a-053d-4b6f-8550-a439d2cbc203? 200 12ms","method":"GET","requestID":"9b400d10-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/66fb540a-053d-4b6f-8550-a439d2cbc203?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6484612c-532a-448e-a304-15cf80b02beb? 200 14ms","method":"GET","requestID":"9b403420-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/6484612c-532a-448e-a304-15cf80b02beb?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"},"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/edf72f2e-ceec-4c72-a53d-b70186ea05a9"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.807011,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"client_addr":"127.0.0.1:46928","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162775,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NX0.y5or5T9NSh-GN02EtaspzVkj4h9hbwM1j_HajZJdfG4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b487180-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:46928","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.882421,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162775,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NX0.y5or5T9NSh-GN02EtaspzVkj4h9hbwM1j_HajZJdfG4"} 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":"9b489890-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.73921,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"82573bbb-0215-43e9-a5e8-1de0195dee33","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162775.7139297} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","object_type":"device","rebac_allow":false,"scope_allow":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":"9b48e6b0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6484612c-532a-448e-a304-15cf80b02beb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6484612c-532a-448e-a304-15cf80b02beb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:13.644825498Z"}]},"request_id":"7cf3a649-fdb2-4517-ac3e-218c3593fada","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162775.7186084} device-1 | {"level":"info","message":"POST /devices/66fb540a-053d-4b6f-8550-a439d2cbc203/signaling 200 12ms","method":"POST","requestID":"9b48e6b0-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/66fb540a-053d-4b6f-8550-a439d2cbc203/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":"9b489890-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:13.596649085Z"}]},"request_id":"5f8fa4dd-7ddd-499a-97fc-315da6839cc6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162775.719807} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b487180-0d22-11ef-9118-35435c36490d"},"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":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fedf72f2e-ceec-4c72-a53d-b70186ea05a9#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fedf72f2e-ceec-4c72-a53d-b70186ea05a9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"f6c4a747-89f3-4800-909b-9c5a5fff1f34","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162775.7260342} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d99d0ae2-1463-4b9d-9b73-3c11c7b1a906","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162775.7263465} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:15Z"} device-1 | {"level":"info","message":"GET /devices/6484612c-532a-448e-a304-15cf80b02beb? 200 23ms","method":"GET","requestID":"9b489890-0d22-11ef-9118-35435c36490d","responseTime":23,"status":200,"url":"/devices/6484612c-532a-448e-a304-15cf80b02beb?"} 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":"f7c6e59526c194ecba7fa3a09c1b6296"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6484612c-532a-448e-a304-15cf80b02beb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"78fb4327-ec4d-448d-be4b-658ae14344f8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162775.7290244} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.861025,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:15Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b4b7ec0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"GET /devices/66fb540a-053d-4b6f-8550-a439d2cbc203? 200 27ms","method":"GET","requestID":"9b487180-0d22-11ef-9118-35435c36490d","responseTime":27,"status":200,"url":"/devices/66fb540a-053d-4b6f-8550-a439d2cbc203?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6484612c-532a-448e-a304-15cf80b02beb/signaling 200 10ms","method":"POST","requestID":"9b4b7ec0-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/6484612c-532a-448e-a304-15cf80b02beb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:15Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bbe5c169-0070-47f9-ba58-59f1fe66fea3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162775.7407293} gateway-1 | {"time_local":"08/May/2024:10:06:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.128","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f7c6e59526c194ecba7fa3a09c1b6296"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.52548,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:15Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 124ms","method":"POST","requestID":"f7c6e59526c194ecba7fa3a09c1b6296","responseTime":124,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b4d5380-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NX0.y5or5T9NSh-GN02EtaspzVkj4h9hbwM1j_HajZJdfG4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"58d0ebe4ca0e529e239490dc4c25491e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/66fb540a-053d-4b6f-8550-a439d2cbc203/signaling 200 10ms","method":"POST","requestID":"9b4d5380-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/66fb540a-053d-4b6f-8550-a439d2cbc203/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.822881,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162775,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NX0.y5or5T9NSh-GN02EtaspzVkj4h9hbwM1j_HajZJdfG4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"58d0ebe4ca0e529e239490dc4c25491e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:46928","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6484612c-532a-448e-a304-15cf80b02beb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e0a8a5c-05a9-4f3d-9ef7-26b375dc7715","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162775.7534556} authorization-1 | {"client_addr":"127.0.0.1:46928","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.635212,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b4f4f50-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:13.596649085Z"}]},"request_id":"de195514-61fa-4c47-acc0-f7ba06a6bbb7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162775.7573075} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6484612c-532a-448e-a304-15cf80b02beb/signaling 200 9ms","method":"POST","requestID":"9b4f4f50-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/6484612c-532a-448e-a304-15cf80b02beb/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":"58d0ebe4ca0e529e239490dc4c25491e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"},"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":"93a8c19e-0d74-4569-af21-a591a97bf80b"},{"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":"14f98ffd-cbfb-4ec9-8b54-cc301827995b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6e55ce4a-4c38-4134-a1dc-a1a46e417d25"}]},"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/6484612c-532a-448e-a304-15cf80b02beb"},{"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/66fb540a-053d-4b6f-8550-a439d2cbc203"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/66fb540a-053d-4b6f-8550-a439d2cbc203? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"58d0ebe4ca0e529e239490dc4c25491e"} device-1 | {"level":"info","message":"GET /devices/66fb540a-053d-4b6f-8550-a439d2cbc203? 200 16ms","method":"GET","requestID":"58d0ebe4ca0e529e239490dc4c25491e","responseTime":16,"status":200,"url":"/devices/66fb540a-053d-4b6f-8550-a439d2cbc203?"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.680139,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162775,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NX0.y5or5T9NSh-GN02EtaspzVkj4h9hbwM1j_HajZJdfG4"} 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":"9b512410-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NX0.y5or5T9NSh-GN02EtaspzVkj4h9hbwM1j_HajZJdfG4","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c91ad86081c19da8b559f2e89f5db6ae","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673706,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162775,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3NX0.y5or5T9NSh-GN02EtaspzVkj4h9hbwM1j_HajZJdfG4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c91ad86081c19da8b559f2e89f5db6ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"a325624c-8c40-44c4-a8a6-d7cae9f892a9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162775.7774863} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ac0e906-90f1-4469-ae93-0331931f1949","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162775.7776742} 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":"9b512410-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6484612c-532a-448e-a304-15cf80b02beb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6484612c-532a-448e-a304-15cf80b02beb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:13.644825498Z"}]},"request_id":"a5334dee-2fe8-45ad-a734-406225f5766f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162775.7786803} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c91ad86081c19da8b559f2e89f5db6ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6484612c-532a-448e-a304-15cf80b02beb? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c91ad86081c19da8b559f2e89f5db6ae"} device-1 | {"level":"info","message":"GET /devices/6484612c-532a-448e-a304-15cf80b02beb? 200 21ms","method":"GET","requestID":"c91ad86081c19da8b559f2e89f5db6ae","responseTime":21,"status":200,"url":"/devices/6484612c-532a-448e-a304-15cf80b02beb?"} 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/45734dcb-c69a-4f78-a459-080e932ff982'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/45734dcb-c69a-4f78-a459-080e932ff982'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 32ms","method":"POST","requestID":"9b512410-0d22-11ef-9118-35435c36490d","responseTime":32,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da9f92a3-0ad3-4d42-a02a-a6a96cf010ea","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162775.8301473} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.842656,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","object_type":"device","rebac_allow":false,"scope_allow":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":"9b5ae810-0d22-11ef-9118-35435c36490d"},"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/66fb540a-053d-4b6f-8550-a439d2cbc203/signaling 200 10ms","method":"POST","requestID":"9b5ae810-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/66fb540a-053d-4b6f-8550-a439d2cbc203/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6484612c-532a-448e-a304-15cf80b02beb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d8999bdb-2032-4dc5-ade0-8c41c4c05878","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162775.8411903} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.251656,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b5cbcd0-0d22-11ef-9118-35435c36490d"},"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/6484612c-532a-448e-a304-15cf80b02beb/signaling 200 8ms","method":"POST","requestID":"9b5cbcd0-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/6484612c-532a-448e-a304-15cf80b02beb/signaling"} device-1 | {"data":{"peerconnection":"45734dcb-c69a-4f78-a459-080e932ff982","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/45734dcb-c69a-4f78-a459-080e932ff982' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"45734dcb-c69a-4f78-a459-080e932ff982","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/6484612c-532a-448e-a304-15cf80b02beb'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2fa003488854f971fd9a45c718f22186","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/6484612c-532a-448e-a304-15cf80b02beb"},{"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/66fb540a-053d-4b6f-8550-a439d2cbc203"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/45734dcb-c69a-4f78-a459-080e932ff982"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"2fa003488854f971fd9a45c718f22186","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"2fa003488854f971fd9a45c718f22186"} device-1 | {"data":{"peerconnection":"45734dcb-c69a-4f78-a459-080e932ff982","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"45734dcb-c69a-4f78-a459-080e932ff982","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/45734dcb-c69a-4f78-a459-080e932ff982' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"45734dcb-c69a-4f78-a459-080e932ff982","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":"1770d8cbe742622c7bb5b4e24841451d","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/6484612c-532a-448e-a304-15cf80b02beb"},{"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/66fb540a-053d-4b6f-8550-a439d2cbc203"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/45734dcb-c69a-4f78-a459-080e932ff982"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:17Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F45734dcb-c69a-4f78-a459-080e932ff982","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"495c8f2e-c067-48e6-bb6a-5766ac1c4dbe","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162777.9656212} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.97878,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:17Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/45734dcb-c69a-4f78-a459-080e932ff982","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/45734dcb-c69a-4f78-a459-080e932ff982","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":"9ca0ae80-0d22-11ef-9118-35435c36490d"},"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/45734dcb-c69a-4f78-a459-080e932ff982 200 9ms","method":"GET","requestID":"9ca0ae80-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/peerconnections/45734dcb-c69a-4f78-a459-080e932ff982"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"1770d8cbe742622c7bb5b4e24841451d","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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":"1770d8cbe742622c7bb5b4e24841451d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:17Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6484612c-532a-448e-a304-15cf80b02beb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b658811-dc09-4764-b540-a84fcf0df60a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162777.989422} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.424711,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9ca47f10-0d22-11ef-9118-35435c36490d"},"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/6484612c-532a-448e-a304-15cf80b02beb/signaling 200 9ms","method":"POST","requestID":"9ca47f10-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/6484612c-532a-448e-a304-15cf80b02beb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:17Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b52be5ab-b785-4251-a7e9-8cd471d662ee","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162777.9999366} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.166211,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","object_type":"device","rebac_allow":false,"scope_allow":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":"9ca605b0-0d22-11ef-9118-35435c36490d"},"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/66fb540a-053d-4b6f-8550-a439d2cbc203/signaling 200 9ms","method":"POST","requestID":"9ca605b0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/66fb540a-053d-4b6f-8550-a439d2cbc203/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3OH0.J_rPjxTIvUyYx_n9h9W4YYPuq4GgcIii11fwZmW4xRs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9f12bbdaceeb7cca92a7a0c464e06228","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.702794,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:18Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162778,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3OH0.J_rPjxTIvUyYx_n9h9W4YYPuq4GgcIii11fwZmW4xRs"} 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":"9f12bbdaceeb7cca92a7a0c464e06228"},"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/edf72f2e-ceec-4c72-a53d-b70186ea05a9"} gateway-1 | {"time_local":"08/May/2024:10:06:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9 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":"9f12bbdaceeb7cca92a7a0c464e06228"} experiment-1 | {"level":"info","message":"GET /experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9 200 10ms","method":"GET","requestID":"9f12bbdaceeb7cca92a7a0c464e06228","responseTime":10,"status":200,"url":"/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3OH0.J_rPjxTIvUyYx_n9h9W4YYPuq4GgcIii11fwZmW4xRs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2721a0e41fe856794509b38ea472723a","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.664352,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162778,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3OH0.J_rPjxTIvUyYx_n9h9W4YYPuq4GgcIii11fwZmW4xRs"} 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":"2721a0e41fe856794509b38ea472723a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.689783,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:18Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/45734dcb-c69a-4f78-a459-080e932ff982","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/45734dcb-c69a-4f78-a459-080e932ff982","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162778,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3OH0.J_rPjxTIvUyYx_n9h9W4YYPuq4GgcIii11fwZmW4xRs"} 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":"9cb2fe00-0d22-11ef-9118-35435c36490d"},"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/45734dcb-c69a-4f78-a459-080e932ff982' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/45734dcb-c69a-4f78-a459-080e932ff982' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"45734dcb-c69a-4f78-a459-080e932ff982","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F45734dcb-c69a-4f78-a459-080e932ff982': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F45734dcb-c69a-4f78-a459-080e932ff982","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"4d710187-5fc8-414d-b181-9c263f9cf130","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162778.0961838} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c30d24b5bf9e5c0981f58a5728dc5aaf","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bef56e30-a8b7-45a1-8fd9-dbbb5bf2f6bf","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162778.0964592} 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/6484612c-532a-448e-a304-15cf80b02beb"},{"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/66fb540a-053d-4b6f-8550-a439d2cbc203"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/45734dcb-c69a-4f78-a459-080e932ff982"}}},"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":"a428da6452df3ac41e4e3bbef4d399a2","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9cb2fe00-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/6484612c-532a-448e-a304-15cf80b02beb"},{"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/66fb540a-053d-4b6f-8550-a439d2cbc203"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/45734dcb-c69a-4f78-a459-080e932ff982"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"45734dcb-c69a-4f78-a459-080e932ff982","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/45734dcb-c69a-4f78-a459-080e932ff982 204 46ms","method":"DELETE","requestID":"9cb2fe00-0d22-11ef-9118-35435c36490d","responseTime":46,"status":204,"url":"/peerconnections/45734dcb-c69a-4f78-a459-080e932ff982"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:18Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6484612c-532a-448e-a304-15cf80b02beb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a89eec1d-1518-4bb4-9477-7c26ca21ceb2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162778.1462364} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.276677,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6484612c-532a-448e-a304-15cf80b02beb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9cbc4cd0-0d22-11ef-9118-35435c36490d"},"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/6484612c-532a-448e-a304-15cf80b02beb/signaling 200 9ms","method":"POST","requestID":"9cbc4cd0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/6484612c-532a-448e-a304-15cf80b02beb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fedf72f2e-ceec-4c72-a53d-b70186ea05a9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fedf72f2e-ceec-4c72-a53d-b70186ea05a9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"d2efaa92-ccf0-462e-9f7f-fcfd684156b2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162778.1538079} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c3a35395-6981-4a82-be0e-2c21017df734","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162778.1541746} 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":"2721a0e41fe856794509b38ea472723a"},"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:52962","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:18Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F66fb540a-053d-4b6f-8550-a439d2cbc203","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ddad6d9f-41c1-4f8f-b6f6-50cd231d5952","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162778.1579666} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.291112,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:18Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9cbdfa80-0d22-11ef-9118-35435c36490d"},"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/66fb540a-053d-4b6f-8550-a439d2cbc203/signaling 200 12ms","method":"POST","requestID":"9cbdfa80-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/66fb540a-053d-4b6f-8550-a439d2cbc203/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"} gateway-1 | {"time_local":"08/May/2024:10:06:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2721a0e41fe856794509b38ea472723a"} experiment-1 | {"level":"info","message":"DELETE /experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9 204 134ms","method":"DELETE","requestID":"2721a0e41fe856794509b38ea472723a","responseTime":134,"status":204,"url":"/experiments/edf72f2e-ceec-4c72-a53d-b70186ea05a9"} gateway-1 | {"time_local":"08/May/2024:10:06:18 +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.992","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a3fa0f91d3dd07f4c9e3914f2959cd1b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 109ms","method":"POST","requestID":"c30d24b5bf9e5c0981f58a5728dc5aaf","responseTime":109,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.113","http_referrer":"","http_user_agent":"node-fetch","requestID":"c30d24b5bf9e5c0981f58a5728dc5aaf"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 108ms","method":"POST","requestID":"a428da6452df3ac41e4e3bbef4d399a2","responseTime":108,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.113","http_referrer":"","http_user_agent":"node-fetch","requestID":"a428da6452df3ac41e4e3bbef4d399a2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3OH0.J_rPjxTIvUyYx_n9h9W4YYPuq4GgcIii11fwZmW4xRs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"960dbef10dda8f6f250dc278b2aeaf69","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.479312,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162778,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3OH0.J_rPjxTIvUyYx_n9h9W4YYPuq4GgcIii11fwZmW4xRs"} gateway-1 | {"time_local":"08/May/2024:10:06:18 +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.649","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"950fde382be867dd623e175c06b5f693"} 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":"960dbef10dda8f6f250dc278b2aeaf69"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/66fb540a-053d-4b6f-8550-a439d2cbc203' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3afb5547-22e2-4c30-94c1-19414b24f4ad","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162778.2362452} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"960dbef10dda8f6f250dc278b2aeaf69"},"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/6484612c-532a-448e-a304-15cf80b02beb' 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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3e5a67c7-7957-47d6-9dee-d6a847444248","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162778.2422414} 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":"960dbef10dda8f6f250dc278b2aeaf69"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"8daf1152-b57b-4bf9-a761-1ed76007e87e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162778.2545724} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c04e4975-c2b6-48fd-8f73-d01540618e6a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162778.2545724} 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":"960dbef10dda8f6f250dc278b2aeaf69"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:18.254517648Z"}]},"request_id":"c3db1a08-fcb2-4ffc-960d-dc525939993e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162778.2623582} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"960dbef10dda8f6f250dc278b2aeaf69"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"960dbef10dda8f6f250dc278b2aeaf69"} device-1 | {"level":"info","message":"POST /devices? 201 52ms","method":"POST","requestID":"960dbef10dda8f6f250dc278b2aeaf69","responseTime":52,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3OH0.J_rPjxTIvUyYx_n9h9W4YYPuq4GgcIii11fwZmW4xRs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"78b1ebfafd16d69da722b728876fd1f4","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.7924,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:18Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162778,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3OH0.J_rPjxTIvUyYx_n9h9W4YYPuq4GgcIii11fwZmW4xRs"} 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":"78b1ebfafd16d69da722b728876fd1f4"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7912361-d2df-4fef-b720-479f5ce32500","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c6eaca29-9336-48dc-8abc-24a7483b84f7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162778.2891564} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78b1ebfafd16d69da722b728876fd1f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4512f96f-4990-4c4f-ab3c-abe1ffc1bf37","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162778.2940695} 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":"78b1ebfafd16d69da722b728876fd1f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7912361-d2df-4fef-b720-479f5ce32500","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"7afab59b-2db4-47b2-b795-68d5a12560da","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162778.3035955} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7bc8ce82-628d-4c7b-a03c-5e50fa66a17b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162778.3036861} 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":"78b1ebfafd16d69da722b728876fd1f4"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7912361-d2df-4fef-b720-479f5ce32500","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7912361-d2df-4fef-b720-479f5ce32500","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:18.303564283Z"}]},"request_id":"c6bde48f-77db-41f7-9d98-547ee3952cc5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162778.3083513} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78b1ebfafd16d69da722b728876fd1f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78b1ebfafd16d69da722b728876fd1f4"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"78b1ebfafd16d69da722b728876fd1f4","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3OH0.J_rPjxTIvUyYx_n9h9W4YYPuq4GgcIii11fwZmW4xRs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"490a1a204aeddd3ba7868077d4a37ee0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.699992,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162778,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3OH0.J_rPjxTIvUyYx_n9h9W4YYPuq4GgcIii11fwZmW4xRs"} 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":"490a1a204aeddd3ba7868077d4a37ee0"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:18.254517648Z"}]},"request_id":"f2e3000a-a88b-48a7-86ed-f34203acb7ee","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162778.8168066} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"490a1a204aeddd3ba7868077d4a37ee0"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a5cbd0f-2344-4122-994b-008f670ae3b7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162778.8216448} 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":"490a1a204aeddd3ba7868077d4a37ee0"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:18.254517648Z"}]},"request_id":"6fc8fa67-9b08-44ec-9011-ffc3970d8c28","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162778.833611} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"490a1a204aeddd3ba7868077d4a37ee0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.031","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"490a1a204aeddd3ba7868077d4a37ee0"} device-1 | {"level":"info","message":"PATCH /devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b 200 28ms","method":"PATCH","requestID":"490a1a204aeddd3ba7868077d4a37ee0","responseTime":28,"status":200,"url":"/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3OH0.J_rPjxTIvUyYx_n9h9W4YYPuq4GgcIii11fwZmW4xRs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"464c4c6f74cbb8534d77f2f69f44616e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:18Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.28242,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162778,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc3OH0.J_rPjxTIvUyYx_n9h9W4YYPuq4GgcIii11fwZmW4xRs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"464c4c6f74cbb8534d77f2f69f44616e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b/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":"464c4c6f74cbb8534d77f2f69f44616e"} device-1 | {"level":"info","message":"POST /devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b/websocket 200 14ms","method":"POST","requestID":"464c4c6f74cbb8534d77f2f69f44616e","responseTime":14,"status":200,"url":"/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b' 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":"6887a3e0b03704b0c9f4c5b4d5f838b9","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f7912361-d2df-4fef-b720-479f5ce32500/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":"6887a3e0b03704b0c9f4c5b4d5f838b9"} device-1 | {"level":"info","message":"OPTIONS /devices/f7912361-d2df-4fef-b720-479f5ce32500/websocket 200 0ms","method":"OPTIONS","requestID":"6887a3e0b03704b0c9f4c5b4d5f838b9","responseTime":0,"status":200,"url":"/devices/f7912361-d2df-4fef-b720-479f5ce32500/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4MH0.8lAFUqcGBinvmgRJHWiQk_4OLGyHBkjuRnB59Gw-Z_E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4262658a205dae6c222afe9864321d12","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67611,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162780,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4MH0.8lAFUqcGBinvmgRJHWiQk_4OLGyHBkjuRnB59Gw-Z_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4262658a205dae6c222afe9864321d12"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f7912361-d2df-4fef-b720-479f5ce32500/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":"4262658a205dae6c222afe9864321d12"} device-1 | {"level":"info","message":"POST /devices/f7912361-d2df-4fef-b720-479f5ce32500/websocket 200 32ms","method":"POST","requestID":"4262658a205dae6c222afe9864321d12","responseTime":32,"status":200,"url":"/devices/f7912361-d2df-4fef-b720-479f5ce32500/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4MH0.8lAFUqcGBinvmgRJHWiQk_4OLGyHBkjuRnB59Gw-Z_E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0fa48678db9c7f06159ccc8a976ee5a7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677011,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162780,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4MH0.8lAFUqcGBinvmgRJHWiQk_4OLGyHBkjuRnB59Gw-Z_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fa48678db9c7f06159ccc8a976ee5a7"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:18.254517648Z"}]},"request_id":"6b54bc02-6961-493e-9c6b-3030eecf0cb2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162780.2788906} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fa48678db9c7f06159ccc8a976ee5a7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0fa48678db9c7f06159ccc8a976ee5a7"} device-1 | {"level":"info","message":"GET /devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b? 200 17ms","method":"GET","requestID":"0fa48678db9c7f06159ccc8a976ee5a7","responseTime":17,"status":200,"url":"/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4MH0.8lAFUqcGBinvmgRJHWiQk_4OLGyHBkjuRnB59Gw-Z_E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7698cd7de08fa55068081d4ece6e4d88","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.722025,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162780,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4MH0.8lAFUqcGBinvmgRJHWiQk_4OLGyHBkjuRnB59Gw-Z_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7698cd7de08fa55068081d4ece6e4d88"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7912361-d2df-4fef-b720-479f5ce32500","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7912361-d2df-4fef-b720-479f5ce32500","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:18.303564283Z"}]},"request_id":"f4bc5a49-300c-4a6e-ad90-e58d5e5c9db2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162780.3028433} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7698cd7de08fa55068081d4ece6e4d88"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f7912361-d2df-4fef-b720-479f5ce32500? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7698cd7de08fa55068081d4ece6e4d88"} device-1 | {"level":"info","message":"GET /devices/f7912361-d2df-4fef-b720-479f5ce32500? 200 13ms","method":"GET","requestID":"7698cd7de08fa55068081d4ece6e4d88","responseTime":13,"status":200,"url":"/devices/f7912361-d2df-4fef-b720-479f5ce32500?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4MH0.8lAFUqcGBinvmgRJHWiQk_4OLGyHBkjuRnB59Gw-Z_E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0270d07291906a9592c54d1b4be9cc64","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:52962","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.954501,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162780,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4MH0.8lAFUqcGBinvmgRJHWiQk_4OLGyHBkjuRnB59Gw-Z_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"0270d07291906a9592c54d1b4be9cc64"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"},"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:52962","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.91402,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162780,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4MH0.8lAFUqcGBinvmgRJHWiQk_4OLGyHBkjuRnB59Gw-Z_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e0d84f0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.866657,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162780,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4MH0.8lAFUqcGBinvmgRJHWiQk_4OLGyHBkjuRnB59Gw-Z_E"} 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":"9e0dac00-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:18.254517648Z"}]},"request_id":"599b77c7-f754-4bec-86fe-c7ef59cf607c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162780.3596456} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e0d84f0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7912361-d2df-4fef-b720-479f5ce32500","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7912361-d2df-4fef-b720-479f5ce32500","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:18.303564283Z"}]},"request_id":"7965f2a7-9228-4114-bf79-2f128199e9c4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162780.363928} 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":"9e0dac00-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"GET /devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b? 200 14ms","method":"GET","requestID":"9e0d84f0-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/f7912361-d2df-4fef-b720-479f5ce32500? 200 16ms","method":"GET","requestID":"9e0dac00-0d22-11ef-9118-35435c36490d","responseTime":16,"status":200,"url":"/devices/f7912361-d2df-4fef-b720-479f5ce32500?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"},"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/78eaa19c-c147-476d-9e5e-2a55b98c6e39"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.017807,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162780,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4MH0.8lAFUqcGBinvmgRJHWiQk_4OLGyHBkjuRnB59Gw-Z_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e159b40-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.799314,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162780,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4MH0.8lAFUqcGBinvmgRJHWiQk_4OLGyHBkjuRnB59Gw-Z_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e15c250-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d830956-4264-4d03-adbb-f20ff5552c70","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162780.4136653} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.717855,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","object_type":"device","rebac_allow":false,"scope_allow":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":"9e161070-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:18.254517648Z"}]},"request_id":"fd70df01-1ba5-44ef-bd09-183cf179ed00","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162780.4153} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7912361-d2df-4fef-b720-479f5ce32500","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7912361-d2df-4fef-b720-479f5ce32500","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:18.303564283Z"}]},"request_id":"0df01dff-03d4-4e83-8591-54281d7a9e84","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162780.4164944} 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":"9e159b40-0d22-11ef-9118-35435c36490d"},"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":"9e15c250-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F78eaa19c-c147-476d-9e5e-2a55b98c6e39#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F78eaa19c-c147-476d-9e5e-2a55b98c6e39","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"a9d32d58-8f3c-4673-9991-727743adc16d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162780.4222844} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b/signaling 200 16ms","method":"POST","requestID":"9e161070-0d22-11ef-9118-35435c36490d","responseTime":16,"status":200,"url":"/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4688c2bf-eb0b-4de7-9f84-e1682f4aa19a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162780.4226437} device-1 | {"level":"info","message":"GET /devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b? 200 20ms","method":"GET","requestID":"9e159b40-0d22-11ef-9118-35435c36490d","responseTime":20,"status":200,"url":"/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b?"} 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":"0270d07291906a9592c54d1b4be9cc64"},"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/f7912361-d2df-4fef-b720-479f5ce32500? 200 20ms","method":"GET","requestID":"9e15c250-0d22-11ef-9118-35435c36490d","responseTime":20,"status":200,"url":"/devices/f7912361-d2df-4fef-b720-479f5ce32500?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:20Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7912361-d2df-4fef-b720-479f5ce32500","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b9ecf14b-5153-41a6-990f-99aef5599919","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162780.4305778} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.173386,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:20Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","object_type":"device","rebac_allow":false,"scope_allow":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":"9e18f6a0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:20Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 122ms","method":"POST","requestID":"0270d07291906a9592c54d1b4be9cc64","responseTime":122,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"08/May/2024:10:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.126","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0270d07291906a9592c54d1b4be9cc64"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"814b26e6-2d42-45fc-b7f2-dcffbb9e2d93","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162780.4360952} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.602851,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:20Z"} device-1 | {"level":"info","message":"POST /devices/f7912361-d2df-4fef-b720-479f5ce32500/signaling 200 11ms","method":"POST","requestID":"9e18f6a0-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/f7912361-d2df-4fef-b720-479f5ce32500/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","object_type":"device","rebac_allow":false,"scope_allow":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":"9e196bd0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4MH0.8lAFUqcGBinvmgRJHWiQk_4OLGyHBkjuRnB59Gw-Z_E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b72aa16f2013bc10ffb78d0aaa69c6b3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b/signaling 200 12ms","method":"POST","requestID":"9e196bd0-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.757317,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162780,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4MH0.8lAFUqcGBinvmgRJHWiQk_4OLGyHBkjuRnB59Gw-Z_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b72aa16f2013bc10ffb78d0aaa69c6b3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7912361-d2df-4fef-b720-479f5ce32500","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b00f711-d1ef-4cd6-9e75-e186328baa5b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162780.4476528} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.57692,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e1b8eb0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:18.254517648Z"}]},"request_id":"8b725728-f6cf-4c1a-ae44-3dc3e88a4804","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162780.4526663} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f7912361-d2df-4fef-b720-479f5ce32500/signaling 200 10ms","method":"POST","requestID":"9e1b8eb0-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/f7912361-d2df-4fef-b720-479f5ce32500/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":"b72aa16f2013bc10ffb78d0aaa69c6b3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"},"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":"44f47186-8790-4507-aba5-d7bf25825347"},{"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":"4db1d6d0-417c-4e19-9ebe-d0963720074f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"9da6fa37-ecb4-4844-9198-4bdbea7cc26a"}]},"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/f7912361-d2df-4fef-b720-479f5ce32500"},{"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/30dc70e1-f965-43ac-9ced-45f4a7b76e4b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b72aa16f2013bc10ffb78d0aaa69c6b3"} device-1 | {"level":"info","message":"GET /devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b? 200 17ms","method":"GET","requestID":"b72aa16f2013bc10ffb78d0aaa69c6b3","responseTime":17,"status":200,"url":"/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b?"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.796453,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162780,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4MH0.8lAFUqcGBinvmgRJHWiQk_4OLGyHBkjuRnB59Gw-Z_E"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"9e1db190-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4MH0.8lAFUqcGBinvmgRJHWiQk_4OLGyHBkjuRnB59Gw-Z_E","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fa7e7c2de0157c3f3e0c7a779d06ebb8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685811,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162780,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4MH0.8lAFUqcGBinvmgRJHWiQk_4OLGyHBkjuRnB59Gw-Z_E"} 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":"fa7e7c2de0157c3f3e0c7a779d06ebb8"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7912361-d2df-4fef-b720-479f5ce32500","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7912361-d2df-4fef-b720-479f5ce32500","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:18.303564283Z"}]},"request_id":"5e3c645a-dcf4-458e-a217-580867509d04","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162780.47189} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa7e7c2de0157c3f3e0c7a779d06ebb8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"b0718730-90c9-4db7-b5a4-85053b0d6fc2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162780.4726503} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e0c9bd8-ec6f-4540-866a-b65cd256d072","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162780.4728374} 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":"9e1db190-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f7912361-d2df-4fef-b720-479f5ce32500? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa7e7c2de0157c3f3e0c7a779d06ebb8"} device-1 | {"level":"info","message":"GET /devices/f7912361-d2df-4fef-b720-479f5ce32500? 200 13ms","method":"GET","requestID":"fa7e7c2de0157c3f3e0c7a779d06ebb8","responseTime":13,"status":200,"url":"/devices/f7912361-d2df-4fef-b720-479f5ce32500?"} 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/fbff0340-3a4d-4355-af36-21eb51cf8132'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/fbff0340-3a4d-4355-af36-21eb51cf8132'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 37ms","method":"POST","requestID":"9e1db190-0d22-11ef-9118-35435c36490d","responseTime":37,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0fcbf174-167e-468e-a46b-8166223a5b96","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162780.5253315} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.24184,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","object_type":"device","rebac_allow":false,"scope_allow":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":"9e277590-0d22-11ef-9118-35435c36490d"},"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/30dc70e1-f965-43ac-9ced-45f4a7b76e4b/signaling 200 8ms","method":"POST","requestID":"9e277590-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7912361-d2df-4fef-b720-479f5ce32500","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c6f6531-0514-4097-985e-b0611c5159d2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162780.536507} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.760686,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e28fc30-0d22-11ef-9118-35435c36490d"},"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/f7912361-d2df-4fef-b720-479f5ce32500/signaling 200 10ms","method":"POST","requestID":"9e28fc30-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/f7912361-d2df-4fef-b720-479f5ce32500/signaling"} device-1 | {"data":{"peerconnection":"fbff0340-3a4d-4355-af36-21eb51cf8132","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/fbff0340-3a4d-4355-af36-21eb51cf8132' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fbff0340-3a4d-4355-af36-21eb51cf8132","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/f7912361-d2df-4fef-b720-479f5ce32500'"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ae1476dc0c1f881dae2f2e9f3b21a1ca","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/f7912361-d2df-4fef-b720-479f5ce32500"},{"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/30dc70e1-f965-43ac-9ced-45f4a7b76e4b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/fbff0340-3a4d-4355-af36-21eb51cf8132"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"ae1476dc0c1f881dae2f2e9f3b21a1ca","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"ae1476dc0c1f881dae2f2e9f3b21a1ca"} device-1 | {"data":{"peerconnection":"fbff0340-3a4d-4355-af36-21eb51cf8132","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"fbff0340-3a4d-4355-af36-21eb51cf8132","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/fbff0340-3a4d-4355-af36-21eb51cf8132' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fbff0340-3a4d-4355-af36-21eb51cf8132","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":"2890933c1aac8923c87edaec458202c1","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/f7912361-d2df-4fef-b720-479f5ce32500"},{"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/30dc70e1-f965-43ac-9ced-45f4a7b76e4b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/fbff0340-3a4d-4355-af36-21eb51cf8132"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffbff0340-3a4d-4355-af36-21eb51cf8132","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1fa6ccfa-ca2b-491a-a596-a226bf305eaf","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162782.6841288} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.444874,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fbff0340-3a4d-4355-af36-21eb51cf8132","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/fbff0340-3a4d-4355-af36-21eb51cf8132","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":"9f70be70-0d22-11ef-9118-35435c36490d"},"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/fbff0340-3a4d-4355-af36-21eb51cf8132 200 8ms","method":"GET","requestID":"9f70be70-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/peerconnections/fbff0340-3a4d-4355-af36-21eb51cf8132"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"2890933c1aac8923c87edaec458202c1","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"2890933c1aac8923c87edaec458202c1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7912361-d2df-4fef-b720-479f5ce32500","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"64d25c5e-ebb3-4654-b865-18a837746364","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162782.7053144} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.099665,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f7419d0-0d22-11ef-9118-35435c36490d"},"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/f7912361-d2df-4fef-b720-479f5ce32500/signaling 200 8ms","method":"POST","requestID":"9f7419d0-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/f7912361-d2df-4fef-b720-479f5ce32500/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d740627-bdad-4805-a749-51b341d53832","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162782.7161646} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.729237,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","object_type":"device","rebac_allow":false,"scope_allow":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":"9f75a070-0d22-11ef-9118-35435c36490d"},"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/30dc70e1-f965-43ac-9ced-45f4a7b76e4b/signaling 200 9ms","method":"POST","requestID":"9f75a070-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Mn0.d91MdF5yboGZleIngZYF0emQf64i3HyXkT-gIuysEb0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0b7a789435f2af997fa177be643f93b1","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.711031,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162782,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Mn0.d91MdF5yboGZleIngZYF0emQf64i3HyXkT-gIuysEb0"} 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":"0b7a789435f2af997fa177be643f93b1"},"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/78eaa19c-c147-476d-9e5e-2a55b98c6e39"} gateway-1 | {"time_local":"08/May/2024:10:06:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b7a789435f2af997fa177be643f93b1"} experiment-1 | {"level":"info","message":"GET /experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39 200 9ms","method":"GET","requestID":"0b7a789435f2af997fa177be643f93b1","responseTime":9,"status":200,"url":"/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Mn0.d91MdF5yboGZleIngZYF0emQf64i3HyXkT-gIuysEb0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fa41adc186b2400d489676f1bb743f05","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.699205,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162782,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Mn0.d91MdF5yboGZleIngZYF0emQf64i3HyXkT-gIuysEb0"} 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":"fa41adc186b2400d489676f1bb743f05"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.708251,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fbff0340-3a4d-4355-af36-21eb51cf8132","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/fbff0340-3a4d-4355-af36-21eb51cf8132","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162782,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Mn0.d91MdF5yboGZleIngZYF0emQf64i3HyXkT-gIuysEb0"} 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":"9f7fb290-0d22-11ef-9118-35435c36490d"},"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/fbff0340-3a4d-4355-af36-21eb51cf8132' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/fbff0340-3a4d-4355-af36-21eb51cf8132' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fbff0340-3a4d-4355-af36-21eb51cf8132","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":"9c6c4dcb09beb7d631fe5e97a13adb6c","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffbff0340-3a4d-4355-af36-21eb51cf8132': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffbff0340-3a4d-4355-af36-21eb51cf8132","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"17d9306c-05b4-4473-919d-3f1d7e648178","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162782.7931435} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/f7912361-d2df-4fef-b720-479f5ce32500"},{"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/30dc70e1-f965-43ac-9ced-45f4a7b76e4b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fbff0340-3a4d-4355-af36-21eb51cf8132"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cf85c37e8a8d8750c81cddea37db3386","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"969371fc-b250-4520-80bb-78725eaaa53d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162782.7935154} 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/f7912361-d2df-4fef-b720-479f5ce32500"},{"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/30dc70e1-f965-43ac-9ced-45f4a7b76e4b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fbff0340-3a4d-4355-af36-21eb51cf8132"}}},"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":"9f7fb290-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device-1 | {"data":{"peerconnection":"fbff0340-3a4d-4355-af36-21eb51cf8132","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/fbff0340-3a4d-4355-af36-21eb51cf8132 204 32ms","method":"DELETE","requestID":"9f7fb290-0d22-11ef-9118-35435c36490d","responseTime":32,"status":204,"url":"/peerconnections/fbff0340-3a4d-4355-af36-21eb51cf8132"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7912361-d2df-4fef-b720-479f5ce32500","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27e659ae-8925-4609-ac0e-3c61d2908e61","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162782.8331811} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.054906,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f7912361-d2df-4fef-b720-479f5ce32500","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f877ac0-0d22-11ef-9118-35435c36490d"},"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/f7912361-d2df-4fef-b720-479f5ce32500/signaling 200 9ms","method":"POST","requestID":"9f877ac0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/f7912361-d2df-4fef-b720-479f5ce32500/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F78eaa19c-c147-476d-9e5e-2a55b98c6e39': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F78eaa19c-c147-476d-9e5e-2a55b98c6e39","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"b5dbc82b-d49b-4933-87e9-e9a3aec100ac","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162782.8381145} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6daf52b-55b9-42ca-abf1-55b269e092d3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162782.8383174} 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":"fa41adc186b2400d489676f1bb743f05"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F30dc70e1-f965-43ac-9ced-45f4a7b76e4b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c13dfdfb-a3d7-4bff-9ff7-d97760bdece8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162782.8444288} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.881827,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f894f80-0d22-11ef-9118-35435c36490d"},"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/30dc70e1-f965-43ac-9ced-45f4a7b76e4b/signaling 200 9ms","method":"POST","requestID":"9f894f80-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/30dc70e1-f965-43ac-9ced-45f4a7b76e4b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"} gateway-1 | {"time_local":"08/May/2024:10:06:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39 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":"fa41adc186b2400d489676f1bb743f05"} experiment-1 | {"level":"info","message":"DELETE /experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39 204 121ms","method":"DELETE","requestID":"fa41adc186b2400d489676f1bb743f05","responseTime":121,"status":204,"url":"/experiments/78eaa19c-c147-476d-9e5e-2a55b98c6e39"} gateway-1 | {"time_local":"08/May/2024:10:06:22 +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.034","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"03dc75a286dedd271aac315a64713d98"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 98ms","method":"POST","requestID":"9c6c4dcb09beb7d631fe5e97a13adb6c","responseTime":98,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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.101","http_referrer":"","http_user_agent":"node-fetch","requestID":"9c6c4dcb09beb7d631fe5e97a13adb6c"} gateway-1 | {"time_local":"08/May/2024:10:06: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.103","http_referrer":"","http_user_agent":"node-fetch","requestID":"cf85c37e8a8d8750c81cddea37db3386"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 98ms","method":"POST","requestID":"cf85c37e8a8d8750c81cddea37db3386","responseTime":98,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:22 +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.646","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6be5718b25b4cd32a9c7022eccb613de"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Mn0.d91MdF5yboGZleIngZYF0emQf64i3HyXkT-gIuysEb0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 11ms","method":"GET","requestID":"a1ad146a5ca7427c344c069f2eecbad9","responseTime":11,"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/30dc70e1-f965-43ac-9ced-45f4a7b76e4b' closed"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.98228,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162782,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Mn0.d91MdF5yboGZleIngZYF0emQf64i3HyXkT-gIuysEb0"} 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":"a1ad146a5ca7427c344c069f2eecbad9"},"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/f7912361-d2df-4fef-b720-479f5ce32500' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ddcdc36d-3b2c-4f4a-94b6-3982337fd9a4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162782.929233} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1ad146a5ca7427c344c069f2eecbad9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b82dfad3-4d34-4237-b4a3-a11e9ee31972","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162782.9348896} 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":"a1ad146a5ca7427c344c069f2eecbad9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"8809f1cd-77b6-47f8-8e17-e46066fa5e5b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162782.943914} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf83e6b5-d613-47ae-a91e-3520a807cc1f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162782.9441137} 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":"a1ad146a5ca7427c344c069f2eecbad9"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:22.943892477Z"}]},"request_id":"16100272-0504-4e10-8778-2e0f15cf93a9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162782.9488077} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1ad146a5ca7427c344c069f2eecbad9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a1ad146a5ca7427c344c069f2eecbad9"} device-1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"a1ad146a5ca7427c344c069f2eecbad9","responseTime":48,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Mn0.d91MdF5yboGZleIngZYF0emQf64i3HyXkT-gIuysEb0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"29c827a8e0e0e21178b7c12ea88f19dc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.793125,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:22Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162782,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Mn0.d91MdF5yboGZleIngZYF0emQf64i3HyXkT-gIuysEb0"} 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":"29c827a8e0e0e21178b7c12ea88f19dc"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2f031c9e-2e66-4e36-9b0c-8fb59b828c8d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162782.976478} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29c827a8e0e0e21178b7c12ea88f19dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce6c0295-38ae-4130-a9fe-c2d4c126cb38","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162782.9811776} 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":"29c827a8e0e0e21178b7c12ea88f19dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"70a337e3-71d5-4137-ae87-d238803d1f8f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162782.992569} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ea96bbcf-130d-4ab4-b4a1-da6465c92aa6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162782.9926927} 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":"29c827a8e0e0e21178b7c12ea88f19dc"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:22.992543746Z"}]},"request_id":"2d303f65-3f4d-4d87-a504-2334dffcfc70","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162782.996576} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29c827a8e0e0e21178b7c12ea88f19dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"29c827a8e0e0e21178b7c12ea88f19dc"} device-1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"29c827a8e0e0e21178b7c12ea88f19dc","responseTime":41,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6466e423d1f2fa51ec273eea59f2a2df","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"769f7afa40cb1f37407c3992be6b6983","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:52962","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.657252,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162783,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6466e423d1f2fa51ec273eea59f2a2df"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.542999,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162783,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"769f7afa40cb1f37407c3992be6b6983"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:22.943892477Z"}]},"request_id":"59047360-45f9-427b-a053-cbfcca6ba008","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.4985921} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:22.992543746Z"}]},"request_id":"307abb1f-e21e-465c-8ed9-eef2db1333c2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.4993284} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6466e423d1f2fa51ec273eea59f2a2df"},"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":"769f7afa40cb1f37407c3992be6b6983"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"67894da8-0a0b-407f-9efd-82c672e7b143","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.5120625} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8fe69e18-b26f-4653-b707-4a9576a9a123","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.5136795} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:22.992543746Z"}]},"request_id":"61e13ac0-e312-4c57-a386-ab88bba78e75","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.5150473} 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":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6466e423d1f2fa51ec273eea59f2a2df"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"769f7afa40cb1f37407c3992be6b6983"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"level":"info","message":"POST /relations/query 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"769f7afa40cb1f37407c3992be6b6983"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e5d3cf82-d30d-4515-bca0-53055e19fc47 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"769f7afa40cb1f37407c3992be6b6983"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:22.943892477Z"}]},"request_id":"fcecb35c-5202-4943-9930-93411934c5f7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.5287726} device-1 | {"level":"info","message":"PATCH /devices/e5d3cf82-d30d-4515-bca0-53055e19fc47 200 41ms","method":"PATCH","requestID":"769f7afa40cb1f37407c3992be6b6983","responseTime":41,"status":200,"url":"/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6466e423d1f2fa51ec273eea59f2a2df"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"6466e423d1f2fa51ec273eea59f2a2df"} device-1 | {"level":"info","message":"PATCH /devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d 200 44ms","method":"PATCH","requestID":"6466e423d1f2fa51ec273eea59f2a2df","responseTime":44,"status":200,"url":"/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6b3351ed303c9614191e86d22cf57e25","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5500f1a3468fd398123f1e960b9f5f6c","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.858005,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162783,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6b3351ed303c9614191e86d22cf57e25"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.852401,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162783,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5500f1a3468fd398123f1e960b9f5f6c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d/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":"5500f1a3468fd398123f1e960b9f5f6c"} device-1 | {"level":"info","message":"POST /devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d/websocket 200 17ms","method":"POST","requestID":"5500f1a3468fd398123f1e960b9f5f6c","responseTime":17,"status":200,"url":"/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e5d3cf82-d30d-4515-bca0-53055e19fc47/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":"6b3351ed303c9614191e86d22cf57e25"} device-1 | {"level":"info","message":"POST /devices/e5d3cf82-d30d-4515-bca0-53055e19fc47/websocket 200 21ms","method":"POST","requestID":"6b3351ed303c9614191e86d22cf57e25","responseTime":21,"status":200,"url":"/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ed9e95af6e4d358031784ba34ef7de54","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.6735,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162783,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE"} 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":"ed9e95af6e4d358031784ba34ef7de54"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:22.943892477Z"}]},"request_id":"36cc4c33-bf6c-4151-9231-d99c96570e47","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.5754154} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ed9e95af6e4d358031784ba34ef7de54"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ed9e95af6e4d358031784ba34ef7de54"} device-1 | {"level":"info","message":"GET /devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d? 200 10ms","method":"GET","requestID":"ed9e95af6e4d358031784ba34ef7de54","responseTime":10,"status":200,"url":"/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4bf25f9568f8fa37e63213571cf35e41","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.837886,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162783,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bf25f9568f8fa37e63213571cf35e41"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:22.992543746Z"}]},"request_id":"63902622-e284-4da0-9fc2-119255e8b014","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.5910523} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bf25f9568f8fa37e63213571cf35e41"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e5d3cf82-d30d-4515-bca0-53055e19fc47? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4bf25f9568f8fa37e63213571cf35e41"} device-1 | {"level":"info","message":"GET /devices/e5d3cf82-d30d-4515-bca0-53055e19fc47? 200 10ms","method":"GET","requestID":"4bf25f9568f8fa37e63213571cf35e41","responseTime":10,"status":200,"url":"/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0e4ac13da9c186b34be6c569dd5bb870","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:52962","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.693314,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162783,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE"} 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":"0e4ac13da9c186b34be6c569dd5bb870"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"},"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:52962","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.593167,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162783,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a00201f0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.559774,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162783,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0022900-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:22.943892477Z"}]},"request_id":"93d9743f-454b-407c-ade9-57e0600baba6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.638587} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a00201f0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:22.992543746Z"}]},"request_id":"36d161d7-9790-486b-944e-c987d42d933f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.6393027} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0022900-0d22-11ef-9118-35435c36490d"},"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/8b3eb2de-2513-44e8-8e1f-baafa5023e2d? 200 12ms","method":"GET","requestID":"a00201f0-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e5d3cf82-d30d-4515-bca0-53055e19fc47? 200 12ms","method":"GET","requestID":"a0022900-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"},"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/44ed7abf-d5eb-470b-bb51-ce862b4d2230"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.24142,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162783,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a0092de0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.024541,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162783,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a00954f0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c7d6ffb-c351-43ae-8f97-90f3e73cc8d0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.6888394} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:22.943892477Z"}]},"request_id":"065ab465-3e28-4393-90aa-a477346b7d01","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.6911736} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.164617,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","object_type":"device","rebac_allow":false,"scope_allow":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":"a009a310-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} 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":"a0092de0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:22.992543746Z"}]},"request_id":"c750d956-9e3d-4224-9ff0-11b62f47ce1f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.6924388} 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":"a00954f0-0d22-11ef-9118-35435c36490d"},"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/8b3eb2de-2513-44e8-8e1f-baafa5023e2d/signaling 200 19ms","method":"POST","requestID":"a009a310-0d22-11ef-9118-35435c36490d","responseTime":19,"status":200,"url":"/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d? 200 23ms","method":"GET","requestID":"a0092de0-0d22-11ef-9118-35435c36490d","responseTime":23,"status":200,"url":"/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F44ed7abf-d5eb-470b-bb51-ce862b4d2230#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F44ed7abf-d5eb-470b-bb51-ce862b4d2230","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"ba74593e-7dcc-43b3-8446-011a420e338c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.7015731} 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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e12c0a9a-db04-4c01-a2f4-787b0c320710","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.7018926} device-1 | {"level":"info","message":"GET /devices/e5d3cf82-d30d-4515-bca0-53055e19fc47? 200 23ms","method":"GET","requestID":"a00954f0-0d22-11ef-9118-35435c36490d","responseTime":23,"status":200,"url":"/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"0e4ac13da9c186b34be6c569dd5bb870"},"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:52962","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b21a4820-5df5-44a8-84c7-66767b221ccd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.708333} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.514066,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a00cfe70-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"84ab7797-6717-4a87-83dc-08822a4e576f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.7112896} experiment-1 | {"data":{"experiment":"http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.200832,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} gateway-1 | {"time_local":"08/May/2024:10:06:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.116","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e4ac13da9c186b34be6c569dd5bb870"} experiment-1 | {"level":"info","message":"POST /experiments? 201 112ms","method":"POST","requestID":"0e4ac13da9c186b34be6c569dd5bb870","responseTime":112,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","object_type":"device","rebac_allow":false,"scope_allow":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":"a00d73a0-0d22-11ef-9118-35435c36490d"},"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/e5d3cf82-d30d-4515-bca0-53055e19fc47/signaling 200 11ms","method":"POST","requestID":"a00cfe70-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d/signaling 200 11ms","method":"POST","requestID":"a00d73a0-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eb080f71f3963bae226b8a424ef427b9","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:52962","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.943788,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162783,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb080f71f3963bae226b8a424ef427b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"169a6d48-776c-4843-a105-3a827d8e5e49","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.7245002} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.866042,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a00f6f70-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:22.943892477Z"}]},"request_id":"5719ecfb-00b5-4c07-9ad7-5544dad73d37","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.7281933} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb080f71f3963bae226b8a424ef427b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"POST /devices/e5d3cf82-d30d-4515-bca0-53055e19fc47/signaling 200 10ms","method":"POST","requestID":"a00f6f70-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"},"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":"2bcd0c6e-5157-4fe1-baa8-08fed2fdb912"},{"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":"1fd0818e-0f83-49cf-9d5a-df844d8cb2cd"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5b13c8ab-63ad-4133-8322-0f9da8f3da96"}]},"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/8b3eb2de-2513-44e8-8e1f-baafa5023e2d"},{"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/e5d3cf82-d30d-4515-bca0-53055e19fc47"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb080f71f3963bae226b8a424ef427b9"} device-1 | {"level":"info","message":"GET /devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d? 200 16ms","method":"GET","requestID":"eb080f71f3963bae226b8a424ef427b9","responseTime":16,"status":200,"url":"/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d?"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.648646,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162783,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE"} 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":"a0116b40-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e24aada201b0ed5eff1f9e0967aa71ab","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703949,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162783,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4M30.OzrmMsLfe7kLYpuWCgWmsUFUDi80hJjiUOCFW4SZtjE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e24aada201b0ed5eff1f9e0967aa71ab"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"8ace873d-720a-49b1-95e3-4422e8277b87","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.7462845} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5bb0abf-6318-4eef-81d0-074cdd950a25","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.7465575} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:22.992543746Z"}]},"request_id":"89580760-25bb-4d70-85dd-0543ddc26660","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.74716} 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":"a0116b40-0d22-11ef-9118-35435c36490d"},"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 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e24aada201b0ed5eff1f9e0967aa71ab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e5d3cf82-d30d-4515-bca0-53055e19fc47? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e24aada201b0ed5eff1f9e0967aa71ab"} device-1 | {"level":"info","message":"GET /devices/e5d3cf82-d30d-4515-bca0-53055e19fc47? 200 14ms","method":"GET","requestID":"e24aada201b0ed5eff1f9e0967aa71ab","responseTime":14,"status":200,"url":"/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47?"} 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/2109138d-c3fc-4f8b-9ab8-381ec1206b92'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/2109138d-c3fc-4f8b-9ab8-381ec1206b92'"} 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":"a0116b40-0d22-11ef-9118-35435c36490d","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/44ed7abf-d5eb-470b-bb51-ce862b4d2230"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"15ee6055-f991-4d56-8b42-af5e3b17f501","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.8027186} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.246077,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","object_type":"device","rebac_allow":false,"scope_allow":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":"a01b7d60-0d22-11ef-9118-35435c36490d"},"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/8b3eb2de-2513-44e8-8e1f-baafa5023e2d/signaling 200 8ms","method":"POST","requestID":"a01b7d60-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b324ecb-f122-42a9-988f-85fb60800529","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162783.8122084} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.191568,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:23Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","object_type":"device","rebac_allow":false,"scope_allow":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":"a01d0400-0d22-11ef-9118-35435c36490d"},"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/e5d3cf82-d30d-4515-bca0-53055e19fc47/signaling 200 8ms","method":"POST","requestID":"a01d0400-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47/signaling"} device-1 | {"data":{"peerconnection":"2109138d-c3fc-4f8b-9ab8-381ec1206b92","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"2109138d-c3fc-4f8b-9ab8-381ec1206b92","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/2109138d-c3fc-4f8b-9ab8-381ec1206b92' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2109138d-c3fc-4f8b-9ab8-381ec1206b92","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":"e1162fe8efad640992647bee4c5c8ecb","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/8b3eb2de-2513-44e8-8e1f-baafa5023e2d"},{"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/e5d3cf82-d30d-4515-bca0-53055e19fc47"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/2109138d-c3fc-4f8b-9ab8-381ec1206b92"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"e1162fe8efad640992647bee4c5c8ecb","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"e1162fe8efad640992647bee4c5c8ecb"} device-1 | {"data":{"peerconnection":"2109138d-c3fc-4f8b-9ab8-381ec1206b92","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"2109138d-c3fc-4f8b-9ab8-381ec1206b92","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/2109138d-c3fc-4f8b-9ab8-381ec1206b92' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2109138d-c3fc-4f8b-9ab8-381ec1206b92","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":"eafe619de454c1dc8564be50217bfc00","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/8b3eb2de-2513-44e8-8e1f-baafa5023e2d"},{"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/e5d3cf82-d30d-4515-bca0-53055e19fc47"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/2109138d-c3fc-4f8b-9ab8-381ec1206b92"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:25Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2109138d-c3fc-4f8b-9ab8-381ec1206b92","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e8477fd-aaa1-4502-93e0-3ed888ccdc61","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162785.8707056} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.244773,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2109138d-c3fc-4f8b-9ab8-381ec1206b92","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/2109138d-c3fc-4f8b-9ab8-381ec1206b92","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":"a156e390-0d22-11ef-9118-35435c36490d"},"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/2109138d-c3fc-4f8b-9ab8-381ec1206b92 200 9ms","method":"GET","requestID":"a156e390-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/peerconnections/2109138d-c3fc-4f8b-9ab8-381ec1206b92"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"eafe619de454c1dc8564be50217bfc00","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"eafe619de454c1dc8564be50217bfc00"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:25Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e54f71a5-193b-40ec-8601-7673741e4c11","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162785.8973553} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.212903,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a15b2950-0d22-11ef-9118-35435c36490d"},"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/8b3eb2de-2513-44e8-8e1f-baafa5023e2d/signaling 200 8ms","method":"POST","requestID":"a15b2950-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:25Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"969f424d-2781-44d4-b010-261aa05fba9a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162785.9077108} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.368624,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:25Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","object_type":"device","rebac_allow":false,"scope_allow":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":"a15caff0-0d22-11ef-9118-35435c36490d"},"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/e5d3cf82-d30d-4515-bca0-53055e19fc47/signaling 200 9ms","method":"POST","requestID":"a15caff0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4NX0.RVuUkbycStSV1R5yZG89-ABD93IZ4XHlXfjsvFLiVNM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b2731d7407bf73cdee408625408532e1","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:25Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.940657,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:25Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162785,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4NX0.RVuUkbycStSV1R5yZG89-ABD93IZ4XHlXfjsvFLiVNM"} 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":"b2731d7407bf73cdee408625408532e1"},"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/44ed7abf-d5eb-470b-bb51-ce862b4d2230"} gateway-1 | {"time_local":"08/May/2024:10:06:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b2731d7407bf73cdee408625408532e1"} experiment-1 | {"level":"info","message":"GET /experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230 200 10ms","method":"GET","requestID":"b2731d7407bf73cdee408625408532e1","responseTime":10,"status":200,"url":"/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4NX0.RVuUkbycStSV1R5yZG89-ABD93IZ4XHlXfjsvFLiVNM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9f7b008e71bcde7dc1681b22eb15922c","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:25Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.652316,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:25Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162785,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4NX0.RVuUkbycStSV1R5yZG89-ABD93IZ4XHlXfjsvFLiVNM"} 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":"9f7b008e71bcde7dc1681b22eb15922c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:25Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.685305,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:25Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2109138d-c3fc-4f8b-9ab8-381ec1206b92","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/2109138d-c3fc-4f8b-9ab8-381ec1206b92","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162785,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4NX0.RVuUkbycStSV1R5yZG89-ABD93IZ4XHlXfjsvFLiVNM"} 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":"a16896d0-0d22-11ef-9118-35435c36490d"},"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/2109138d-c3fc-4f8b-9ab8-381ec1206b92' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/2109138d-c3fc-4f8b-9ab8-381ec1206b92' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2109138d-c3fc-4f8b-9ab8-381ec1206b92","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":"ec97069372bf3c1a4489018986180d25","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":"803313e4cf66d95ebaf1c413b64348e8","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":"closed","url":"http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d"},{"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/e5d3cf82-d30d-4515-bca0-53055e19fc47"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2109138d-c3fc-4f8b-9ab8-381ec1206b92"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2109138d-c3fc-4f8b-9ab8-381ec1206b92': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2109138d-c3fc-4f8b-9ab8-381ec1206b92","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"42b8359b-5c5c-4452-b99b-1ee81875b6ad","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162785.9974937} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd29c8b0-e7a2-420a-acf3-0a347811c9f2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162785.9976752} 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/8b3eb2de-2513-44e8-8e1f-baafa5023e2d"},{"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/e5d3cf82-d30d-4515-bca0-53055e19fc47"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2109138d-c3fc-4f8b-9ab8-381ec1206b92"}}},"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":"a16896d0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"data":{"peerconnection":"2109138d-c3fc-4f8b-9ab8-381ec1206b92","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/2109138d-c3fc-4f8b-9ab8-381ec1206b92 204 44ms","method":"DELETE","requestID":"a16896d0-0d22-11ef-9118-35435c36490d","responseTime":44,"status":204,"url":"/peerconnections/2109138d-c3fc-4f8b-9ab8-381ec1206b92"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3eb2de-2513-44e8-8e1f-baafa5023e2d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f6fe19a4-db9d-4147-b6ca-48b5a2b9b378","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.0448542} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.391353,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d","object_type":"device","rebac_allow":false,"scope_allow":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":"a1719780-0d22-11ef-9118-35435c36490d"},"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/8b3eb2de-2513-44e8-8e1f-baafa5023e2d/signaling 200 10ms","method":"POST","requestID":"a1719780-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F44ed7abf-d5eb-470b-bb51-ce862b4d2230': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F44ed7abf-d5eb-470b-bb51-ce862b4d2230","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"ef9b7bb8-aa96-446b-a6a3-63cc96f62b66","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.0568333} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e2deda00-a864-433c-b503-4c6ab6588e48","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.057132} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} 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":"9f7b008e71bcde7dc1681b22eb15922c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5d3cf82-d30d-4515-bca0-53055e19fc47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9184a0d1-de1a-405d-ae1c-db8d5778f23e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.060665} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.8147,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47","object_type":"device","rebac_allow":false,"scope_allow":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":"a1739350-0d22-11ef-9118-35435c36490d"},"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/e5d3cf82-d30d-4515-bca0-53055e19fc47/signaling 200 13ms","method":"POST","requestID":"a1739350-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/e5d3cf82-d30d-4515-bca0-53055e19fc47/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"} gateway-1 | {"time_local":"08/May/2024:10:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.142","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f7b008e71bcde7dc1681b22eb15922c"} experiment-1 | {"level":"info","message":"DELETE /experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230 204 139ms","method":"DELETE","requestID":"9f7b008e71bcde7dc1681b22eb15922c","responseTime":139,"status":204,"url":"/experiments/44ed7abf-d5eb-470b-bb51-ce862b4d2230"} gateway-1 | {"time_local":"08/May/2024:10:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.556","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"263ab46e7be59b979743cbc4a4431502"} gateway-1 | {"time_local":"08/May/2024:10:06:26 +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.556","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"486b5e91e435b7090f9d57655fab96d2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 117ms","method":"POST","requestID":"ec97069372bf3c1a4489018986180d25","responseTime":117,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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.119","http_referrer":"","http_user_agent":"node-fetch","requestID":"ec97069372bf3c1a4489018986180d25"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 116ms","method":"POST","requestID":"803313e4cf66d95ebaf1c413b64348e8","responseTime":116,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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":"803313e4cf66d95ebaf1c413b64348e8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a07a4479f080e9acd75e64ed7b521249","responseTime":3,"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/e5d3cf82-d30d-4515-bca0-53055e19fc47' closed"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.888575,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162786,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY"} 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":"a07a4479f080e9acd75e64ed7b521249"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8b3eb2de-2513-44e8-8e1f-baafa5023e2d' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1469960e-dfd7-48fe-ae1f-951bb77d1491","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.1412313} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a07a4479f080e9acd75e64ed7b521249"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b0d8692a-6647-49e9-918c-0f37467da904","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.1467185} 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":"a07a4479f080e9acd75e64ed7b521249"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"59e5d942-8791-41d6-8c43-eb7af4339708","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.158686} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68a29777-9413-4e36-b59a-df860f2bea73","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.158847} 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":"a07a4479f080e9acd75e64ed7b521249"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:26.158658953Z"}]},"request_id":"2f8a4c69-8f0a-41aa-9219-3bf03e1e7441","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.1637506} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a07a4479f080e9acd75e64ed7b521249"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a07a4479f080e9acd75e64ed7b521249"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"a07a4479f080e9acd75e64ed7b521249","responseTime":47,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"75b67527a852e8361a53c3f4c919e427","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.802616,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162786,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY"} 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":"75b67527a852e8361a53c3f4c919e427"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"569482fc-061d-4499-be78-6212bfb7eaa3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.1878452} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75b67527a852e8361a53c3f4c919e427"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"769e1e4c-34c8-444b-919f-5ad83a5b9a97","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.193331} 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":"75b67527a852e8361a53c3f4c919e427"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"0d4d1ee2-a36c-4343-ac72-0b3587e2f2ee","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.2030993} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e1b4617a-8620-4a81-a896-b1f0b705b4e1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.2033505} 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":"75b67527a852e8361a53c3f4c919e427"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:26.203068036Z"}]},"request_id":"f2821f08-87e4-4c14-baee-8bf6cf08e041","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.20821} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75b67527a852e8361a53c3f4c919e427"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"75b67527a852e8361a53c3f4c919e427"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"75b67527a852e8361a53c3f4c919e427","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0ad395ff05d761b0b3c31ebf1fa8e0ce","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.695027,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b121b4c58b267bcb01268ba1f3e51e44","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162786,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ad395ff05d761b0b3c31ebf1fa8e0ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941493,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162786,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b121b4c58b267bcb01268ba1f3e51e44"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:26.203068036Z"}]},"request_id":"9576c073-5b4d-49a4-9ff0-baa90624ff08","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.7207448} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ad395ff05d761b0b3c31ebf1fa8e0ce"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:26.158658953Z"}]},"request_id":"eb17c26f-f5aa-456c-8d53-46af7d1b8768","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.7216427} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b121b4c58b267bcb01268ba1f3e51e44"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2959b254-16e1-473b-b235-52184b166be2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.7258437} 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":"0ad395ff05d761b0b3c31ebf1fa8e0ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c6718fa2-ef17-4a71-b6aa-64d9322ece23","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.727185} 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":"b121b4c58b267bcb01268ba1f3e51e44"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:26.158658953Z"}]},"request_id":"665f3f70-2a78-4676-b5bf-48175a1ef076","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.7308617} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b121b4c58b267bcb01268ba1f3e51e44"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6388761e-4e63-49c9-91f8-b88f92d42c66 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b121b4c58b267bcb01268ba1f3e51e44"} device-1 | {"level":"info","message":"PATCH /devices/6388761e-4e63-49c9-91f8-b88f92d42c66 200 20ms","method":"PATCH","requestID":"b121b4c58b267bcb01268ba1f3e51e44","responseTime":20,"status":200,"url":"/devices/6388761e-4e63-49c9-91f8-b88f92d42c66"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c797537ca1cf5352fb2c57f6122fd84d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.933307,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162786,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c797537ca1cf5352fb2c57f6122fd84d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:26.203068036Z"}]},"request_id":"a522c178-ea08-472d-a63b-7d8fcd58c32d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.7512128} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ad395ff05d761b0b3c31ebf1fa8e0ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/18aba415-1db4-4ffe-8f34-4b47425939be HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.051","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"0ad395ff05d761b0b3c31ebf1fa8e0ce"} device-1 | {"level":"info","message":"PATCH /devices/18aba415-1db4-4ffe-8f34-4b47425939be 200 46ms","method":"PATCH","requestID":"0ad395ff05d761b0b3c31ebf1fa8e0ce","responseTime":46,"status":200,"url":"/devices/18aba415-1db4-4ffe-8f34-4b47425939be"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7a00403da68191bd95fe7c9e094a74a4","responseTime":2,"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:52962","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} gateway-1 | {"time_local":"08/May/2024:10:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6388761e-4e63-49c9-91f8-b88f92d42c66/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c797537ca1cf5352fb2c57f6122fd84d"} device-1 | {"level":"info","message":"POST /devices/6388761e-4e63-49c9-91f8-b88f92d42c66/websocket 200 23ms","method":"POST","requestID":"c797537ca1cf5352fb2c57f6122fd84d","responseTime":23,"status":200,"url":"/devices/6388761e-4e63-49c9-91f8-b88f92d42c66/websocket"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.811513,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162786,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a00403da68191bd95fe7c9e094a74a4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"device 'http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/18aba415-1db4-4ffe-8f34-4b47425939be/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":"7a00403da68191bd95fe7c9e094a74a4"} device-1 | {"level":"info","message":"POST /devices/18aba415-1db4-4ffe-8f34-4b47425939be/websocket 200 15ms","method":"POST","requestID":"7a00403da68191bd95fe7c9e094a74a4","responseTime":15,"status":200,"url":"/devices/18aba415-1db4-4ffe-8f34-4b47425939be/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d386af75a20be3a743a3392578e3ea43","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.708733,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162786,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d386af75a20be3a743a3392578e3ea43"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:26.158658953Z"}]},"request_id":"3d0f5c5a-8773-488b-a779-c555ac1a4a18","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.7947605} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d386af75a20be3a743a3392578e3ea43"},"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/6388761e-4e63-49c9-91f8-b88f92d42c66? 200 12ms","method":"GET","requestID":"d386af75a20be3a743a3392578e3ea43","responseTime":12,"status":200,"url":"/devices/6388761e-4e63-49c9-91f8-b88f92d42c66?"} gateway-1 | {"time_local":"08/May/2024:10:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6388761e-4e63-49c9-91f8-b88f92d42c66? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d386af75a20be3a743a3392578e3ea43"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"392eeb37ab190a2e0d10f4b606de2b45","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.943444,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162786,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"392eeb37ab190a2e0d10f4b606de2b45"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:26.203068036Z"}]},"request_id":"927c9abe-e2b7-4dd1-bd41-b4f672705679","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.809953} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"392eeb37ab190a2e0d10f4b606de2b45"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/18aba415-1db4-4ffe-8f34-4b47425939be? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"392eeb37ab190a2e0d10f4b606de2b45"} device-1 | {"level":"info","message":"GET /devices/18aba415-1db4-4ffe-8f34-4b47425939be? 200 10ms","method":"GET","requestID":"392eeb37ab190a2e0d10f4b606de2b45","responseTime":10,"status":200,"url":"/devices/18aba415-1db4-4ffe-8f34-4b47425939be?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3f35603253ba06f8b7f4d60264e6879c","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:52962","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.657314,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162786,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY"} 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":"3f35603253ba06f8b7f4d60264e6879c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"},"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:52962","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.627474,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162786,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1ec93e0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.640265,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162786,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1ecbaf0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:26.158658953Z"}]},"request_id":"64321d43-0eac-4e46-9478-83dcca811c74","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.8562653} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1ec93e0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:26.203068036Z"}]},"request_id":"240aeb92-92ef-4c43-9398-070a08396b36","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.8572745} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1ecbaf0-0d22-11ef-9118-35435c36490d"},"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/6388761e-4e63-49c9-91f8-b88f92d42c66? 200 15ms","method":"GET","requestID":"a1ec93e0-0d22-11ef-9118-35435c36490d","responseTime":15,"status":200,"url":"/devices/6388761e-4e63-49c9-91f8-b88f92d42c66?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/18aba415-1db4-4ffe-8f34-4b47425939be? 200 15ms","method":"GET","requestID":"a1ecbaf0-0d22-11ef-9118-35435c36490d","responseTime":15,"status":200,"url":"/devices/18aba415-1db4-4ffe-8f34-4b47425939be?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"},"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/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.183364,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162786,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1f43500-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.803658,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162786,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1f45c10-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:45128","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:26.158658953Z"}]},"request_id":"2b9a96c2-d0e9-4c6f-971b-35107f442792","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.9077907} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1f43500-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:26.203068036Z"}]},"request_id":"4ddd5090-bfb6-4c0c-a081-6ca181b0cdf8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.9094188} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5c6d52b0-be28-4685-8b54-e2661d680568","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.9100063} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1f45c10-0d22-11ef-9118-35435c36490d"},"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:45128","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.326229,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1f48320-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2c6b95fd-672c-4cf1-beb5-93218f4bcfd7#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2c6b95fd-672c-4cf1-beb5-93218f4bcfd7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"d434ee10-c5d6-4f3b-8720-031b435caeec","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.9148402} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d9debe3a-2dad-4730-869c-74d7e2e8707f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.9151256} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6388761e-4e63-49c9-91f8-b88f92d42c66? 200 20ms","method":"GET","requestID":"a1f43500-0d22-11ef-9118-35435c36490d","responseTime":20,"status":200,"url":"/devices/6388761e-4e63-49c9-91f8-b88f92d42c66?"} 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":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f35603253ba06f8b7f4d60264e6879c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/18aba415-1db4-4ffe-8f34-4b47425939be? 200 20ms","method":"GET","requestID":"a1f45c10-0d22-11ef-9118-35435c36490d","responseTime":20,"status":200,"url":"/devices/18aba415-1db4-4ffe-8f34-4b47425939be?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6388761e-4e63-49c9-91f8-b88f92d42c66/signaling 200 20ms","method":"POST","requestID":"a1f48320-0d22-11ef-9118-35435c36490d","responseTime":20,"status":200,"url":"/devices/6388761e-4e63-49c9-91f8-b88f92d42c66/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/May/2024:10:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.111","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3f35603253ba06f8b7f4d60264e6879c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 108ms","method":"POST","requestID":"3f35603253ba06f8b7f4d60264e6879c","responseTime":108,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6279569-004f-4199-95bd-47fe9f828a60","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.9264815} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.968847,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","object_type":"device","rebac_allow":false,"scope_allow":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":"a1f80590-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d4360604-400d-4524-a1c8-bc5e57c6c042","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.9307313} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6388761e-4e63-49c9-91f8-b88f92d42c66/signaling 200 10ms","method":"POST","requestID":"a1f80590-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/6388761e-4e63-49c9-91f8-b88f92d42c66/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1c21df52e55dff991114224e6d839623","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.046544,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1f853b0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.829123,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162786,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY"} 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":"1c21df52e55dff991114224e6d839623"},"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/18aba415-1db4-4ffe-8f34-4b47425939be/signaling 200 24ms","method":"POST","requestID":"a1f853b0-0d22-11ef-9118-35435c36490d","responseTime":24,"status":200,"url":"/devices/18aba415-1db4-4ffe-8f34-4b47425939be/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"72f025b0-de07-4f8e-82da-5ade46ac8127","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.9461162} authorization-1 | {"client_addr":"127.0.0.1:46940","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.969086,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","object_type":"device","rebac_allow":false,"scope_allow":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":"a1fa2870-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:26.158658953Z"}]},"request_id":"c4d4af70-3c6f-4c31-9fba-a4df6bc05621","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.9485576} 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":"1c21df52e55dff991114224e6d839623"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/18aba415-1db4-4ffe-8f34-4b47425939be/signaling 200 20ms","method":"POST","requestID":"a1fa2870-0d22-11ef-9118-35435c36490d","responseTime":20,"status":200,"url":"/devices/18aba415-1db4-4ffe-8f34-4b47425939be/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6388761e-4e63-49c9-91f8-b88f92d42c66? 200 23ms","method":"GET","requestID":"1c21df52e55dff991114224e6d839623","responseTime":23,"status":200,"url":"/devices/6388761e-4e63-49c9-91f8-b88f92d42c66?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"},"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":"e285ef88-55a3-4c47-a39e-1fb36012c256"},{"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":"8eac77e9-fff8-4223-9ab5-ee40a918dad4"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1293bf23-3b5e-4a2b-8834-6030dfb27554"}]},"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/18aba415-1db4-4ffe-8f34-4b47425939be"},{"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/6388761e-4e63-49c9-91f8-b88f92d42c66"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} gateway-1 | {"time_local":"08/May/2024:10:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6388761e-4e63-49c9-91f8-b88f92d42c66? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1c21df52e55dff991114224e6d839623"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a1a94ffbf2b7e813737cef247728ef87","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.776802,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162786,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY"} 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":"a1fdaae0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685172,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:26Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162786,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4Nn0.D7H554muljXlBb28xvphAZhzyQ2OIjm7-8VfKvHlupY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1a94ffbf2b7e813737cef247728ef87"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:26.203068036Z"}]},"request_id":"fe81187c-10eb-4bb6-a46a-a27435eb610b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.9710686} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"bbb096ab-5dab-4104-a31a-2612347c7538","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.9725187} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed2e5a0c-197f-4dfb-bcbb-21e23859e58e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162786.972975} 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":"a1a94ffbf2b7e813737cef247728ef87"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} 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":"a1fdaae0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/18aba415-1db4-4ffe-8f34-4b47425939be? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a1a94ffbf2b7e813737cef247728ef87"} device-1 | {"level":"info","message":"GET /devices/18aba415-1db4-4ffe-8f34-4b47425939be? 200 18ms","method":"GET","requestID":"a1a94ffbf2b7e813737cef247728ef87","responseTime":18,"status":200,"url":"/devices/18aba415-1db4-4ffe-8f34-4b47425939be?"} 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/f4cbbe0e-f91b-494d-8e27-29be2bf55373'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f4cbbe0e-f91b-494d-8e27-29be2bf55373'"} 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":"a1fdaae0-0d22-11ef-9118-35435c36490d","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/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:27Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e14a6a92-be46-40a7-8ed2-1b7783d741c2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162787.0295773} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.154581,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","object_type":"device","rebac_allow":false,"scope_allow":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":"a207e410-0d22-11ef-9118-35435c36490d"},"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/6388761e-4e63-49c9-91f8-b88f92d42c66/signaling 200 8ms","method":"POST","requestID":"a207e410-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/6388761e-4e63-49c9-91f8-b88f92d42c66/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:27Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"463d414f-1b02-4299-99de-87fb6ee78757","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162787.0391884} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.236278,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","object_type":"device","rebac_allow":false,"scope_allow":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":"a2096ab0-0d22-11ef-9118-35435c36490d"},"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/18aba415-1db4-4ffe-8f34-4b47425939be/signaling 200 8ms","method":"POST","requestID":"a2096ab0-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/18aba415-1db4-4ffe-8f34-4b47425939be/signaling"} device-1 | {"data":{"peerconnection":"f4cbbe0e-f91b-494d-8e27-29be2bf55373","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f4cbbe0e-f91b-494d-8e27-29be2bf55373","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/f4cbbe0e-f91b-494d-8e27-29be2bf55373' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f4cbbe0e-f91b-494d-8e27-29be2bf55373","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":"f164524f34656b335bc16c63a4a09271","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/18aba415-1db4-4ffe-8f34-4b47425939be"},{"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/6388761e-4e63-49c9-91f8-b88f92d42c66"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f4cbbe0e-f91b-494d-8e27-29be2bf55373"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"f164524f34656b335bc16c63a4a09271","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"f164524f34656b335bc16c63a4a09271"} device-1 | {"data":{"peerconnection":"f4cbbe0e-f91b-494d-8e27-29be2bf55373","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f4cbbe0e-f91b-494d-8e27-29be2bf55373","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/f4cbbe0e-f91b-494d-8e27-29be2bf55373' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f4cbbe0e-f91b-494d-8e27-29be2bf55373","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":"1d4c35a51e47de2e4b90015f995cfbc8","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/18aba415-1db4-4ffe-8f34-4b47425939be"},{"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/6388761e-4e63-49c9-91f8-b88f92d42c66"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f4cbbe0e-f91b-494d-8e27-29be2bf55373"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff4cbbe0e-f91b-494d-8e27-29be2bf55373","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"91980bd8-8d57-4731-8b4e-4f4e481b2402","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162789.099604} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.450828,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f4cbbe0e-f91b-494d-8e27-29be2bf55373","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f4cbbe0e-f91b-494d-8e27-29be2bf55373","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":"a343bf70-0d22-11ef-9118-35435c36490d"},"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/f4cbbe0e-f91b-494d-8e27-29be2bf55373 200 8ms","method":"GET","requestID":"a343bf70-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/peerconnections/f4cbbe0e-f91b-494d-8e27-29be2bf55373"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"1d4c35a51e47de2e4b90015f995cfbc8","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"1d4c35a51e47de2e4b90015f995cfbc8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e4273e4-88ae-4e4a-94ac-13ea5c53aa57","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162789.1217997} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.090661,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","object_type":"device","rebac_allow":false,"scope_allow":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":"a3471ad0-0d22-11ef-9118-35435c36490d"},"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/18aba415-1db4-4ffe-8f34-4b47425939be/signaling 200 9ms","method":"POST","requestID":"a3471ad0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/18aba415-1db4-4ffe-8f34-4b47425939be/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0536d9dc-7ff7-4163-a6ea-cf149cb1f495","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162789.132124} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.174437,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a348c880-0d22-11ef-9118-35435c36490d"},"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/6388761e-4e63-49c9-91f8-b88f92d42c66/signaling 200 8ms","method":"POST","requestID":"a348c880-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/6388761e-4e63-49c9-91f8-b88f92d42c66/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4OX0.VljKrQV-NfHU5f2pmqqQP0JyCHxCqfdNnD8uX4d4Cp8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"abcf95781eb987f304f67f2e2b1788fd","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.043195,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162789,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4OX0.VljKrQV-NfHU5f2pmqqQP0JyCHxCqfdNnD8uX4d4Cp8"} 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":"abcf95781eb987f304f67f2e2b1788fd"},"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/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"} gateway-1 | {"time_local":"08/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"abcf95781eb987f304f67f2e2b1788fd"} experiment-1 | {"level":"info","message":"GET /experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7 200 11ms","method":"GET","requestID":"abcf95781eb987f304f67f2e2b1788fd","responseTime":11,"status":200,"url":"/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4OX0.VljKrQV-NfHU5f2pmqqQP0JyCHxCqfdNnD8uX4d4Cp8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d9363d7118a59c0e90d82c7ef838086a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.693296,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162789,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4OX0.VljKrQV-NfHU5f2pmqqQP0JyCHxCqfdNnD8uX4d4Cp8"} 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":"d9363d7118a59c0e90d82c7ef838086a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.698627,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f4cbbe0e-f91b-494d-8e27-29be2bf55373","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/f4cbbe0e-f91b-494d-8e27-29be2bf55373","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162789,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4OX0.VljKrQV-NfHU5f2pmqqQP0JyCHxCqfdNnD8uX4d4Cp8"} 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":"a353ec10-0d22-11ef-9118-35435c36490d"},"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/f4cbbe0e-f91b-494d-8e27-29be2bf55373' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f4cbbe0e-f91b-494d-8e27-29be2bf55373' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f4cbbe0e-f91b-494d-8e27-29be2bf55373","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":"3f03d1b75e5bbfc346459b815e9ca045","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff4cbbe0e-f91b-494d-8e27-29be2bf55373': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff4cbbe0e-f91b-494d-8e27-29be2bf55373","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"374f3591-908a-413c-b5bd-4b442243f9fd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162789.2176838} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/18aba415-1db4-4ffe-8f34-4b47425939be"},{"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/6388761e-4e63-49c9-91f8-b88f92d42c66"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f4cbbe0e-f91b-494d-8e27-29be2bf55373"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1c70824997ceb92ae5310d0ff7bd9c63","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da56bd48-45a0-4dc0-88b7-57e242c47582","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162789.2188108} 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/18aba415-1db4-4ffe-8f34-4b47425939be"},{"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/6388761e-4e63-49c9-91f8-b88f92d42c66"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f4cbbe0e-f91b-494d-8e27-29be2bf55373"}}},"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":"a353ec10-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"data":{"peerconnection":"f4cbbe0e-f91b-494d-8e27-29be2bf55373","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/f4cbbe0e-f91b-494d-8e27-29be2bf55373 204 46ms","method":"DELETE","requestID":"a353ec10-0d22-11ef-9118-35435c36490d","responseTime":46,"status":204,"url":"/peerconnections/f4cbbe0e-f91b-494d-8e27-29be2bf55373"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F18aba415-1db4-4ffe-8f34-4b47425939be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c2acbdb4-b9e1-446b-ba51-9ebe3d009690","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162789.2680447} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.329479,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/18aba415-1db4-4ffe-8f34-4b47425939be","object_type":"device","rebac_allow":false,"scope_allow":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":"a35d61f0-0d22-11ef-9118-35435c36490d"},"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/18aba415-1db4-4ffe-8f34-4b47425939be/signaling 200 9ms","method":"POST","requestID":"a35d61f0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/18aba415-1db4-4ffe-8f34-4b47425939be/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2c6b95fd-672c-4cf1-beb5-93218f4bcfd7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2c6b95fd-672c-4cf1-beb5-93218f4bcfd7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"ba0e7281-b320-43f8-8d63-dc9812c0edef","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162789.2734287} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a2672838-7639-482c-902a-6e2a70f3be7a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162789.273584} 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":"d9363d7118a59c0e90d82c7ef838086a"},"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:52962","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6388761e-4e63-49c9-91f8-b88f92d42c66","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e1cd281-58eb-434e-863b-9de6e3354d78","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162789.2788076} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.112149,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66","object_type":"device","rebac_allow":false,"scope_allow":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":"a35f0fa0-0d22-11ef-9118-35435c36490d"},"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/6388761e-4e63-49c9-91f8-b88f92d42c66/signaling 200 9ms","method":"POST","requestID":"a35f0fa0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/6388761e-4e63-49c9-91f8-b88f92d42c66/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"} gateway-1 | {"time_local":"08/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.142","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d9363d7118a59c0e90d82c7ef838086a"} gateway-1 | {"time_local":"08/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2745","request_time":"2.558","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"72dfc214172562a480255d69d35b6f7c"} gateway-1 | {"time_local":"08/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2747","request_time":"2.570","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"08e297933f0c2e3ac04d92eb89949d48"} experiment-1 | {"level":"info","message":"DELETE /experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7 204 141ms","method":"DELETE","requestID":"d9363d7118a59c0e90d82c7ef838086a","responseTime":141,"status":204,"url":"/experiments/2c6b95fd-672c-4cf1-beb5-93218f4bcfd7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 118ms","method":"POST","requestID":"3f03d1b75e5bbfc346459b815e9ca045","responseTime":118,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.121","http_referrer":"","http_user_agent":"node-fetch","requestID":"3f03d1b75e5bbfc346459b815e9ca045"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4OX0.VljKrQV-NfHU5f2pmqqQP0JyCHxCqfdNnD8uX4d4Cp8","level":"info","message":"auth send jwt"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6388761e-4e63-49c9-91f8-b88f92d42c66' closed"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9023417d04c16757d88582e607d6d2e8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"1c70824997ceb92ae5310d0ff7bd9c63","responseTime":120,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.125","http_referrer":"","http_user_agent":"node-fetch","requestID":"1c70824997ceb92ae5310d0ff7bd9c63"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.884871,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162789,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4OX0.VljKrQV-NfHU5f2pmqqQP0JyCHxCqfdNnD8uX4d4Cp8"} 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":"9023417d04c16757d88582e607d6d2e8"},"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/18aba415-1db4-4ffe-8f34-4b47425939be' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F885da119-d62e-4ddf-9816-6b716eed957b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a28570aa-950c-471f-9fa4-ee3e89d5bed9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162789.358677} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9023417d04c16757d88582e607d6d2e8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c41e02d4-90f6-4183-bfe5-a8d96a6bf3f9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162789.3652406} 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":"9023417d04c16757d88582e607d6d2e8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F885da119-d62e-4ddf-9816-6b716eed957b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"9cfc50ab-ea40-426b-8d0b-16abc3aff93d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162789.3763103} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"89ab85ab-53e3-42cd-866b-d03a4cd49624","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162789.37654} 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":"9023417d04c16757d88582e607d6d2e8"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F885da119-d62e-4ddf-9816-6b716eed957b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F885da119-d62e-4ddf-9816-6b716eed957b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:29.376279161Z"}]},"request_id":"edcb3e70-477c-40e2-90cc-0f5ebbed73b5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162789.381193} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9023417d04c16757d88582e607d6d2e8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9023417d04c16757d88582e607d6d2e8"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"9023417d04c16757d88582e607d6d2e8","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4OX0.VljKrQV-NfHU5f2pmqqQP0JyCHxCqfdNnD8uX4d4Cp8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dd7f34aabb7a292aad42bebb9f740dfd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.75964,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162789,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc4OX0.VljKrQV-NfHU5f2pmqqQP0JyCHxCqfdNnD8uX4d4Cp8"} 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":"dd7f34aabb7a292aad42bebb9f740dfd"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2998bd5a-51b6-4663-9628-0a9582fcbe16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"be5f7272-c9cb-4639-b515-ee0700f4b110","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162789.4049563} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd7f34aabb7a292aad42bebb9f740dfd"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"007bffda-ebac-4190-8354-2c94863b72f3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162789.410196} 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":"dd7f34aabb7a292aad42bebb9f740dfd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2998bd5a-51b6-4663-9628-0a9582fcbe16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"4d945eaf-c2bd-4ff2-b8b7-d548cb0fb20b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162789.4191573} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"59d8ba51-16fb-4be3-a499-7f9d001df8f7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162789.4194522} 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":"dd7f34aabb7a292aad42bebb9f740dfd"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2998bd5a-51b6-4663-9628-0a9582fcbe16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2998bd5a-51b6-4663-9628-0a9582fcbe16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:29.419135165Z"}]},"request_id":"29f4190d-ee22-420d-a90c-0e58d1248ce9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162789.423956} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd7f34aabb7a292aad42bebb9f740dfd"},"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":"dd7f34aabb7a292aad42bebb9f740dfd","responseTime":38,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/May/2024:10:06:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd7f34aabb7a292aad42bebb9f740dfd"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"262360a0ebdc7baf5bb2cfee12080c08","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2998bd5a-51b6-4663-9628-0a9582fcbe16/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":"262360a0ebdc7baf5bb2cfee12080c08"} device-1 | {"level":"info","message":"OPTIONS /devices/2998bd5a-51b6-4663-9628-0a9582fcbe16/websocket 200 1ms","method":"OPTIONS","requestID":"262360a0ebdc7baf5bb2cfee12080c08","responseTime":1,"status":200,"url":"/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f95c8bd27d4f6d5eaf526676d7e605f9","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/885da119-d62e-4ddf-9816-6b716eed957b/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":"f95c8bd27d4f6d5eaf526676d7e605f9"} device-1 | {"level":"info","message":"OPTIONS /devices/885da119-d62e-4ddf-9816-6b716eed957b/websocket 200 1ms","method":"OPTIONS","requestID":"f95c8bd27d4f6d5eaf526676d7e605f9","responseTime":1,"status":200,"url":"/devices/885da119-d62e-4ddf-9816-6b716eed957b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dc3c85de3dc19093a0b352d44cde4c88","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"23d869d81caec474dafc733aae9a1884","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.026185,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162791,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc3c85de3dc19093a0b352d44cde4c88"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.876689,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162791,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"23d869d81caec474dafc733aae9a1884"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2998bd5a-51b6-4663-9628-0a9582fcbe16/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"dc3c85de3dc19093a0b352d44cde4c88"} device-1 | {"level":"info","message":"POST /devices/2998bd5a-51b6-4663-9628-0a9582fcbe16/websocket 200 23ms","method":"POST","requestID":"dc3c85de3dc19093a0b352d44cde4c88","responseTime":23,"status":200,"url":"/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/885da119-d62e-4ddf-9816-6b716eed957b/websocket 200 30ms","method":"POST","requestID":"23d869d81caec474dafc733aae9a1884","responseTime":30,"status":200,"url":"/devices/885da119-d62e-4ddf-9816-6b716eed957b/websocket"} gateway-1 | {"time_local":"08/May/2024:10:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/885da119-d62e-4ddf-9816-6b716eed957b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.036","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"23d869d81caec474dafc733aae9a1884"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a52350de8bbfd650613af2573640b0e0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.714741,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162791,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a52350de8bbfd650613af2573640b0e0"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F885da119-d62e-4ddf-9816-6b716eed957b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F885da119-d62e-4ddf-9816-6b716eed957b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:29.376279161Z"}]},"request_id":"161c5c18-4703-494a-99cd-4bf5d2025423","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.4114656} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a52350de8bbfd650613af2573640b0e0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/885da119-d62e-4ddf-9816-6b716eed957b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a52350de8bbfd650613af2573640b0e0"} device-1 | {"level":"info","message":"GET /devices/885da119-d62e-4ddf-9816-6b716eed957b? 200 11ms","method":"GET","requestID":"a52350de8bbfd650613af2573640b0e0","responseTime":11,"status":200,"url":"/devices/885da119-d62e-4ddf-9816-6b716eed957b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e34f7b0152eb4898248af66882c8d963","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704138,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162791,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e34f7b0152eb4898248af66882c8d963"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2998bd5a-51b6-4663-9628-0a9582fcbe16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2998bd5a-51b6-4663-9628-0a9582fcbe16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:29.419135165Z"}]},"request_id":"5266f95f-da87-44a3-830a-e7c25236b5b6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.4273303} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e34f7b0152eb4898248af66882c8d963"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2998bd5a-51b6-4663-9628-0a9582fcbe16? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e34f7b0152eb4898248af66882c8d963"} device-1 | {"level":"info","message":"GET /devices/2998bd5a-51b6-4663-9628-0a9582fcbe16? 200 10ms","method":"GET","requestID":"e34f7b0152eb4898248af66882c8d963","responseTime":10,"status":200,"url":"/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c1bd1bb9b6ba087f327d960a5c04373b","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:52962","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.709031,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162791,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8"} 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":"c1bd1bb9b6ba087f327d960a5c04373b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"},"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:52962","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.918576,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162791,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4aff9a0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.856784,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162791,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8"} 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":"a4b020b0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F885da119-d62e-4ddf-9816-6b716eed957b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F885da119-d62e-4ddf-9816-6b716eed957b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:29.376279161Z"}]},"request_id":"350376c5-2baa-4536-816b-d9b04f63bedd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.4906483} 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":"a4aff9a0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2998bd5a-51b6-4663-9628-0a9582fcbe16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2998bd5a-51b6-4663-9628-0a9582fcbe16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:29.419135165Z"}]},"request_id":"606ebff1-c9d6-40c0-a23c-7dab2a85247f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.4955266} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4b020b0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"GET /devices/885da119-d62e-4ddf-9816-6b716eed957b? 200 14ms","method":"GET","requestID":"a4aff9a0-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/885da119-d62e-4ddf-9816-6b716eed957b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2998bd5a-51b6-4663-9628-0a9582fcbe16? 200 16ms","method":"GET","requestID":"a4b020b0-0d22-11ef-9118-35435c36490d","responseTime":16,"status":200,"url":"/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"},"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/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"},"level":"info","message":"Successfully running experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.034702,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162791,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8"} 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":"a4b79ac0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.182366,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162791,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8"} 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":"a4b7e8e0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:39120","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F885da119-d62e-4ddf-9816-6b716eed957b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c4753c0a-f7d4-4564-9e90-0fbb79f11504","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.545068} authorization-1 | {"client_addr":"127.0.0.1:39120","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.66873,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4b83700-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2998bd5a-51b6-4663-9628-0a9582fcbe16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2998bd5a-51b6-4663-9628-0a9582fcbe16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:29.419135165Z"}]},"request_id":"12dec4aa-1bfd-4ab8-9144-f5fefeefcdfc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.5466173} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F885da119-d62e-4ddf-9816-6b716eed957b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F885da119-d62e-4ddf-9816-6b716eed957b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:29.376279161Z"}]},"request_id":"3424c8d6-5a6b-48bb-89e7-72ae14087ad0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.5476465} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4b7e8e0-0d22-11ef-9118-35435c36490d"},"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 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4b79ac0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"7eb42198-4b01-48f3-a66d-4c3cd61b8add","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.5527546} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b147759e-1e64-4bba-898d-d4479b10e726","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.5529943} 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":"c1bd1bb9b6ba087f327d960a5c04373b"},"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/885da119-d62e-4ddf-9816-6b716eed957b/signaling 200 19ms","method":"POST","requestID":"a4b83700-0d22-11ef-9118-35435c36490d","responseTime":19,"status":200,"url":"/devices/885da119-d62e-4ddf-9816-6b716eed957b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2998bd5a-51b6-4663-9628-0a9582fcbe16? 200 22ms","method":"GET","requestID":"a4b7e8e0-0d22-11ef-9118-35435c36490d","responseTime":22,"status":200,"url":"/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/885da119-d62e-4ddf-9816-6b716eed957b? 200 25ms","method":"GET","requestID":"a4b79ac0-0d22-11ef-9118-35435c36490d","responseTime":25,"status":200,"url":"/devices/885da119-d62e-4ddf-9816-6b716eed957b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway-1 | {"time_local":"08/May/2024:10:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.133","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c1bd1bb9b6ba087f327d960a5c04373b"} experiment-1 | {"level":"info","message":"POST /experiments? 201 128ms","method":"POST","requestID":"c1bd1bb9b6ba087f327d960a5c04373b","responseTime":128,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2998bd5a-51b6-4663-9628-0a9582fcbe16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3eff5a84-265d-4ebf-bb7b-2318a70e80b2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.5647817} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.232366,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","object_type":"device","rebac_allow":false,"scope_allow":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":"a4bbb970-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F885da119-d62e-4ddf-9816-6b716eed957b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4dd1d999-2e1b-4237-a8d0-5163da316b62","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.5685887} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"136a8495c37ce236b3148c4edcd3bff9","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.246852,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2998bd5a-51b6-4663-9628-0a9582fcbe16/signaling 200 11ms","method":"POST","requestID":"a4bbb970-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","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":"a4bc55b0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.728643,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162791,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/885da119-d62e-4ddf-9816-6b716eed957b/signaling 200 13ms","method":"POST","requestID":"a4bc55b0-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/885da119-d62e-4ddf-9816-6b716eed957b/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":"136a8495c37ce236b3148c4edcd3bff9"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F885da119-d62e-4ddf-9816-6b716eed957b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F885da119-d62e-4ddf-9816-6b716eed957b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:29.376279161Z"}]},"request_id":"fe33012b-fa5f-427a-8a0a-12d890679d54","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.579537} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"136a8495c37ce236b3148c4edcd3bff9"},"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:52962","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2998bd5a-51b6-4663-9628-0a9582fcbe16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6912763a-7e67-4150-a13d-9e92a3d5f8dc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.582352} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.311212,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4be9fa0-0d22-11ef-9118-35435c36490d"},"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":"08/May/2024:10:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/885da119-d62e-4ddf-9816-6b716eed957b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"136a8495c37ce236b3148c4edcd3bff9"} device-1 | {"level":"info","message":"GET /devices/885da119-d62e-4ddf-9816-6b716eed957b? 200 17ms","method":"GET","requestID":"136a8495c37ce236b3148c4edcd3bff9","responseTime":17,"status":200,"url":"/devices/885da119-d62e-4ddf-9816-6b716eed957b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/2998bd5a-51b6-4663-9628-0a9582fcbe16/signaling 200 12ms","method":"POST","requestID":"a4be9fa0-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"},"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":"a2b88577-52f3-4485-8860-e6685a4443e0"},{"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":"1fa61cd0-0fa2-4bfb-8405-b0627931bf1b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"db513468-e77b-4a10-8c37-b8133c6d9527"}]},"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/2998bd5a-51b6-4663-9628-0a9582fcbe16"},{"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/885da119-d62e-4ddf-9816-6b716eed957b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"37d3e739b3d107c6951ac319d82dc2f7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.718051,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162791,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","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":"a4c110a0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926781,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162791,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8"} 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":"37d3e739b3d107c6951ac319d82dc2f7"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2998bd5a-51b6-4663-9628-0a9582fcbe16","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2998bd5a-51b6-4663-9628-0a9582fcbe16","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:29.419135165Z"}]},"request_id":"0b3a5892-501b-4226-8f3b-cdd0c0e5037d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.6180243} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"37d3e739b3d107c6951ac319d82dc2f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2998bd5a-51b6-4663-9628-0a9582fcbe16? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"37d3e739b3d107c6951ac319d82dc2f7"} device-1 | {"level":"info","message":"GET /devices/2998bd5a-51b6-4663-9628-0a9582fcbe16? 200 25ms","method":"GET","requestID":"37d3e739b3d107c6951ac319d82dc2f7","responseTime":25,"status":200,"url":"/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"d5007255-72cc-4488-a091-4496fef2fff7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.623113} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ded45841-2d25-4cf7-b7d1-d77209b939dc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.623456} 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":"a4c110a0-0d22-11ef-9118-35435c36490d"},"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/3fdfadc7-23f0-4c9a-834f-12bd254ad6e4'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3fdfadc7-23f0-4c9a-834f-12bd254ad6e4'"} 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":"a4c110a0-0d22-11ef-9118-35435c36490d","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/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F885da119-d62e-4ddf-9816-6b716eed957b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a5bc0071-599d-46dc-a5b5-27206263d891","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.6691632} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.217655,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","object_type":"device","rebac_allow":false,"scope_allow":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":"a4cbe610-0d22-11ef-9118-35435c36490d"},"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/885da119-d62e-4ddf-9816-6b716eed957b/signaling 200 8ms","method":"POST","requestID":"a4cbe610-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/885da119-d62e-4ddf-9816-6b716eed957b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2998bd5a-51b6-4663-9628-0a9582fcbe16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a8b195c1-1640-479a-9da1-b544225dea9f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.6795385} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.98588,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","object_type":"device","rebac_allow":false,"scope_allow":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":"a4cd6cb0-0d22-11ef-9118-35435c36490d"},"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/2998bd5a-51b6-4663-9628-0a9582fcbe16/signaling 200 11ms","method":"POST","requestID":"a4cd6cb0-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3fdfadc7-23f0-4c9a-834f-12bd254ad6e4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3fdfadc7-23f0-4c9a-834f-12bd254ad6e4","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":"a2326171f90da9253fb4e1a4022a6b99","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/2998bd5a-51b6-4663-9628-0a9582fcbe16"},{"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/885da119-d62e-4ddf-9816-6b716eed957b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3fdfadc7-23f0-4c9a-834f-12bd254ad6e4"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"a2326171f90da9253fb4e1a4022a6b99","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"a2326171f90da9253fb4e1a4022a6b99"} device-1 | {"data":{"peerconnection":"3fdfadc7-23f0-4c9a-834f-12bd254ad6e4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"3fdfadc7-23f0-4c9a-834f-12bd254ad6e4","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/3fdfadc7-23f0-4c9a-834f-12bd254ad6e4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3fdfadc7-23f0-4c9a-834f-12bd254ad6e4","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":"bda528bd7414fd1310be337842be6f78","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/2998bd5a-51b6-4663-9628-0a9582fcbe16"},{"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/885da119-d62e-4ddf-9816-6b716eed957b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3fdfadc7-23f0-4c9a-834f-12bd254ad6e4"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3fdfadc7-23f0-4c9a-834f-12bd254ad6e4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f135d9ca-ae2b-444e-9d02-1e2cf32b0f98","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.7667778} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.309623,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3fdfadc7-23f0-4c9a-834f-12bd254ad6e4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3fdfadc7-23f0-4c9a-834f-12bd254ad6e4","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":"a4dab320-0d22-11ef-9118-35435c36490d"},"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/3fdfadc7-23f0-4c9a-834f-12bd254ad6e4 200 9ms","method":"GET","requestID":"a4dab320-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/peerconnections/3fdfadc7-23f0-4c9a-834f-12bd254ad6e4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"bda528bd7414fd1310be337842be6f78","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"bda528bd7414fd1310be337842be6f78"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2998bd5a-51b6-4663-9628-0a9582fcbe16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"98c217fa-532e-4652-8357-f6ac8b17d218","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.7900865} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.416356,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","object_type":"device","rebac_allow":false,"scope_allow":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":"a4de3590-0d22-11ef-9118-35435c36490d"},"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/2998bd5a-51b6-4663-9628-0a9582fcbe16/signaling 200 10ms","method":"POST","requestID":"a4de3590-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F885da119-d62e-4ddf-9816-6b716eed957b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e244d79b-d9ca-4df0-8ba8-83509ee94af8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.8011892} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.114244,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","object_type":"device","rebac_allow":false,"scope_allow":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":"a4e00a50-0d22-11ef-9118-35435c36490d"},"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/885da119-d62e-4ddf-9816-6b716eed957b/signaling 200 8ms","method":"POST","requestID":"a4e00a50-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/885da119-d62e-4ddf-9816-6b716eed957b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"77de8ea330d6389d84dbc208261c6dba","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.692307,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162791,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8"} 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":"77de8ea330d6389d84dbc208261c6dba"},"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/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"} gateway-1 | {"time_local":"08/May/2024:10:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"77de8ea330d6389d84dbc208261c6dba"} experiment-1 | {"level":"info","message":"GET /experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93 200 9ms","method":"GET","requestID":"77de8ea330d6389d84dbc208261c6dba","responseTime":9,"status":200,"url":"/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ed108a2e07015c40d7651dec74d18a3c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.726607,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162791,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8"} 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":"ed108a2e07015c40d7651dec74d18a3c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.920596,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3fdfadc7-23f0-4c9a-834f-12bd254ad6e4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/3fdfadc7-23f0-4c9a-834f-12bd254ad6e4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162791,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8"} 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":"a4e9ce50-0d22-11ef-9118-35435c36490d"},"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/3fdfadc7-23f0-4c9a-834f-12bd254ad6e4' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3fdfadc7-23f0-4c9a-834f-12bd254ad6e4' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3fdfadc7-23f0-4c9a-834f-12bd254ad6e4","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3fdfadc7-23f0-4c9a-834f-12bd254ad6e4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3fdfadc7-23f0-4c9a-834f-12bd254ad6e4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"45bf6cc3-b200-47d0-bb09-e43e1639063f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.8752954} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ed70c68-28ba-41ab-bffb-25494ee44e8d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.8755965} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b037dcb698be10334424a6ed4c93256a","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4e9ce50-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/2998bd5a-51b6-4663-9628-0a9582fcbe16"},{"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/885da119-d62e-4ddf-9816-6b716eed957b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3fdfadc7-23f0-4c9a-834f-12bd254ad6e4"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"71f8be251bb99eb303c688266d8c509d","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/2998bd5a-51b6-4663-9628-0a9582fcbe16"},{"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/885da119-d62e-4ddf-9816-6b716eed957b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3fdfadc7-23f0-4c9a-834f-12bd254ad6e4"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"3fdfadc7-23f0-4c9a-834f-12bd254ad6e4","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/3fdfadc7-23f0-4c9a-834f-12bd254ad6e4 204 51ms","method":"DELETE","requestID":"a4e9ce50-0d22-11ef-9118-35435c36490d","responseTime":51,"status":204,"url":"/peerconnections/3fdfadc7-23f0-4c9a-834f-12bd254ad6e4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2998bd5a-51b6-4663-9628-0a9582fcbe16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2cc7d19a-8a4b-4266-ad34-3f8f675f6d5e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.9357119} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.257362,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4f47cb0-0d22-11ef-9118-35435c36490d"},"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/2998bd5a-51b6-4663-9628-0a9582fcbe16/signaling 200 9ms","method":"POST","requestID":"a4f47cb0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"80fd1d26-7cce-46e8-94dd-f75ccd3c287e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.9432178} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"04ba9036-9931-45da-bba2-f431dfbd8178","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.9434261} 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":"ed108a2e07015c40d7651dec74d18a3c"},"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:52962","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F885da119-d62e-4ddf-9816-6b716eed957b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eadfe16c-ba17-4a3a-8609-3b3071b9aad8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162791.9479423} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.535522,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:31Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b","object_type":"device","rebac_allow":false,"scope_allow":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":"a4f62a60-0d22-11ef-9118-35435c36490d"},"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/885da119-d62e-4ddf-9816-6b716eed957b/signaling 200 10ms","method":"POST","requestID":"a4f62a60-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/885da119-d62e-4ddf-9816-6b716eed957b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"} gateway-1 | {"time_local":"08/May/2024:10:06:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.143","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ed108a2e07015c40d7651dec74d18a3c"} experiment-1 | {"level":"info","message":"DELETE /experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93 204 141ms","method":"DELETE","requestID":"ed108a2e07015c40d7651dec74d18a3c","responseTime":141,"status":204,"url":"/experiments/a66ab2c5-e4f8-4eb9-a5cf-db3a4b0a2a93"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"b037dcb698be10334424a6ed4c93256a","responseTime":120,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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.123","http_referrer":"","http_user_agent":"node-fetch","requestID":"b037dcb698be10334424a6ed4c93256a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 120ms","method":"POST","requestID":"71f8be251bb99eb303c688266d8c509d","responseTime":120,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8","level":"info","message":"auth send jwt"} gateway-1 | {"time_local":"08/May/2024:10:06: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.124","http_referrer":"","http_user_agent":"node-fetch","requestID":"71f8be251bb99eb303c688266d8c509d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"83bacb99a98e5ce8200aa04def250de6","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:32Z"} gateway-1 | {"time_local":"08/May/2024:10:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2850","request_time":"0.617","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"54e24fe10abff034a7300d6b21bb962a"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.854851,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162791,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5MX0.iYye0xBwp2fxmNnaWAXgUFRgmT_f0mOTutk0ZhrL8u8"} 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":"83bacb99a98e5ce8200aa04def250de6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"08/May/2024:10:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2848","request_time":"0.627","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9eb0225a23bcff19f2930d6d2359e686"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/885da119-d62e-4ddf-9816-6b716eed957b' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2998bd5a-51b6-4663-9628-0a9582fcbe16' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"553f9e78-fcf4-4a16-8ca0-62cd76fd9cfb","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162792.02495} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83bacb99a98e5ce8200aa04def250de6"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ac4fcfd7-ef2a-4a4f-b11d-1c89445153b0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162792.0317907} 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":"83bacb99a98e5ce8200aa04def250de6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"4c579dbb-cadb-4fd2-af3a-086151cd8d5a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162792.0419989} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"079a3a09-11ca-4e5e-a010-5679f2b88fd6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162792.0422952} 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":"83bacb99a98e5ce8200aa04def250de6"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:32.041969553Z"}]},"request_id":"fe58cba9-7cc8-4abd-9355-43245dceb439","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162792.0459576} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"83bacb99a98e5ce8200aa04def250de6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"83bacb99a98e5ce8200aa04def250de6","responseTime":47,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/May/2024:10:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83bacb99a98e5ce8200aa04def250de6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5Mn0.d4enxWJvsiqNVuUbRi0YJ-wdisgUiWOy8sZhuRNR8ss","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"306b34db5fbeb1b75b96c4c196899367","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:32Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.698328,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162792,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5Mn0.d4enxWJvsiqNVuUbRi0YJ-wdisgUiWOy8sZhuRNR8ss"} 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":"306b34db5fbeb1b75b96c4c196899367"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe573940e-681a-4258-8970-7e8fd4f833a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3710272f-f709-4116-9f9b-c9ed5aa0dc15","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162792.0664866} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"306b34db5fbeb1b75b96c4c196899367"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8bda36b2-4c2d-405b-bc1b-bf96ed9efc62","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162792.070553} 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":"306b34db5fbeb1b75b96c4c196899367"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe573940e-681a-4258-8970-7e8fd4f833a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"aa559851-ffee-485c-9529-745eb46c0ca5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162792.0784159} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ceafb04b-9d9f-47f5-9b85-d48d8929c6a9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162792.078597} 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":"306b34db5fbeb1b75b96c4c196899367"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe573940e-681a-4258-8970-7e8fd4f833a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe573940e-681a-4258-8970-7e8fd4f833a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:32.078396094Z"}]},"request_id":"3a7d9e0c-fb85-47e5-bd88-b05ede57b143","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162792.0817983} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"306b34db5fbeb1b75b96c4c196899367"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"306b34db5fbeb1b75b96c4c196899367"} device-1 | {"level":"info","message":"POST /devices? 201 30ms","method":"POST","requestID":"306b34db5fbeb1b75b96c4c196899367","responseTime":30,"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":"4369ebb50528ea5cc86fd23e224127f0","responseTime":0,"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":"0ffe1bcf06feeeff059a8c7e95ae9bce","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:06:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e573940e-681a-4258-8970-7e8fd4f833a7/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":"4369ebb50528ea5cc86fd23e224127f0"} device-1 | {"level":"info","message":"OPTIONS /devices/e573940e-681a-4258-8970-7e8fd4f833a7/websocket 200 1ms","method":"OPTIONS","requestID":"4369ebb50528ea5cc86fd23e224127f0","responseTime":1,"status":200,"url":"/devices/e573940e-681a-4258-8970-7e8fd4f833a7/websocket"} gateway-1 | {"time_local":"08/May/2024:10:06:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f/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":"0ffe1bcf06feeeff059a8c7e95ae9bce"} device-1 | {"level":"info","message":"OPTIONS /devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f/websocket 200 1ms","method":"OPTIONS","requestID":"0ffe1bcf06feeeff059a8c7e95ae9bce","responseTime":1,"status":200,"url":"/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5M30.FGCYk014WlFsUr3MA3WGA6234qwsr8eqsGpPUHKCqCA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"def436941a73f22cd1cd131fc9709b66","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5M30.FGCYk014WlFsUr3MA3WGA6234qwsr8eqsGpPUHKCqCA","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"56c915fe343bf63a69485cdc46c5d2dc","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:33Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.708831,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162793,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5M30.FGCYk014WlFsUr3MA3WGA6234qwsr8eqsGpPUHKCqCA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"def436941a73f22cd1cd131fc9709b66"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:33Z"} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.015565,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:33Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162793,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5M30.FGCYk014WlFsUr3MA3WGA6234qwsr8eqsGpPUHKCqCA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56c915fe343bf63a69485cdc46c5d2dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.018","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"56c915fe343bf63a69485cdc46c5d2dc"} device-1 | {"level":"info","message":"POST /devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f/websocket 200 12ms","method":"POST","requestID":"56c915fe343bf63a69485cdc46c5d2dc","responseTime":12,"status":200,"url":"/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/e573940e-681a-4258-8970-7e8fd4f833a7/websocket 200 35ms","method":"POST","requestID":"def436941a73f22cd1cd131fc9709b66","responseTime":35,"status":200,"url":"/devices/e573940e-681a-4258-8970-7e8fd4f833a7/websocket"} gateway-1 | {"time_local":"08/May/2024:10:06:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e573940e-681a-4258-8970-7e8fd4f833a7/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":"def436941a73f22cd1cd131fc9709b66"} device-1 | {"level":"info","message":"device 'http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"be24cbda9d71a98e3de705cda0dfb5e0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677796,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162794,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw"} 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":"be24cbda9d71a98e3de705cda0dfb5e0"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:32.041969553Z"}]},"request_id":"c5380d35-12bd-401d-98ce-503a80c8fd40","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.0578084} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"be24cbda9d71a98e3de705cda0dfb5e0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"be24cbda9d71a98e3de705cda0dfb5e0"} device-1 | {"level":"info","message":"GET /devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f? 200 12ms","method":"GET","requestID":"be24cbda9d71a98e3de705cda0dfb5e0","responseTime":12,"status":200,"url":"/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"71d23c89d4e649cf35be2c32e0e7b759","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.72538,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162794,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71d23c89d4e649cf35be2c32e0e7b759"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe573940e-681a-4258-8970-7e8fd4f833a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe573940e-681a-4258-8970-7e8fd4f833a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:32.078396094Z"}]},"request_id":"5fcbef23-06aa-45eb-9d52-8965f59930f8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.0735106} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71d23c89d4e649cf35be2c32e0e7b759"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e573940e-681a-4258-8970-7e8fd4f833a7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"71d23c89d4e649cf35be2c32e0e7b759"} device-1 | {"level":"info","message":"GET /devices/e573940e-681a-4258-8970-7e8fd4f833a7? 200 10ms","method":"GET","requestID":"71d23c89d4e649cf35be2c32e0e7b759","responseTime":10,"status":200,"url":"/devices/e573940e-681a-4258-8970-7e8fd4f833a7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3f9f91a32aedda5d6e79bb4d03a2295c","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:52962","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.711454,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162794,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw"} 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":"3f9f91a32aedda5d6e79bb4d03a2295c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"},"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:52962","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.684986,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162794,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a64566b0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.524863,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162794,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw"} 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":"a6458dc0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:32.041969553Z"}]},"request_id":"5d766c6b-9571-477b-b5e2-d370ed491e20","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.1468148} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a64566b0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe573940e-681a-4258-8970-7e8fd4f833a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe573940e-681a-4258-8970-7e8fd4f833a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:32.078396094Z"}]},"request_id":"a69a58cc-942a-4938-8b01-420abe9292c4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.1481595} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6458dc0-0d22-11ef-9118-35435c36490d"},"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/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f? 200 14ms","method":"GET","requestID":"a64566b0-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e573940e-681a-4258-8970-7e8fd4f833a7? 200 14ms","method":"GET","requestID":"a6458dc0-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/e573940e-681a-4258-8970-7e8fd4f833a7?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"},"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/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.774809,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.57389,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162794,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a64d55f0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162794,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a64da410-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:32.041969553Z"}]},"request_id":"ea7044d9-2928-4378-9ff1-d42216b4f71e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.2032645} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"acdd551e-216c-411f-a99f-fb43a3b40e3a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.2034023} 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":"a64d55f0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe573940e-681a-4258-8970-7e8fd4f833a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe573940e-681a-4258-8970-7e8fd4f833a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:32.078396094Z"}]},"request_id":"3f31515c-b93d-4b60-b14b-8e7dcf26601c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.2041488} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a64da410-0d22-11ef-9118-35435c36490d"},"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:52962","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.992147,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","object_type":"device","rebac_allow":false,"scope_allow":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":"a64df230-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f? 200 19ms","method":"GET","requestID":"a64d55f0-0d22-11ef-9118-35435c36490d","responseTime":19,"status":200,"url":"/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/e573940e-681a-4258-8970-7e8fd4f833a7? 200 18ms","method":"GET","requestID":"a64da410-0d22-11ef-9118-35435c36490d","responseTime":18,"status":200,"url":"/devices/e573940e-681a-4258-8970-7e8fd4f833a7?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3578d5b4-cd40-4e1d-8596-52bf06ac9a6f#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3578d5b4-cd40-4e1d-8596-52bf06ac9a6f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"59d74e78-9822-48e6-b516-0a1ec560d069","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.2120676} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d341fdf-8de7-431f-b2ae-2d5bde6a6650","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.2127092} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f9f91a32aedda5d6e79bb4d03a2295c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f/signaling 200 20ms","method":"POST","requestID":"a64df230-0d22-11ef-9118-35435c36490d","responseTime":20,"status":200,"url":"/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cbfcf5a7-12fe-43d7-907b-389dfa60a5fe","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.2180312} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.507897,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a650b150-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} gateway-1 | {"time_local":"08/May/2024:10:06:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3f9f91a32aedda5d6e79bb4d03a2295c"} experiment-1 | {"level":"info","message":"POST /experiments? 201 142ms","method":"POST","requestID":"3f9f91a32aedda5d6e79bb4d03a2295c","responseTime":142,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f/signaling 200 11ms","method":"POST","requestID":"a650b150-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe573940e-681a-4258-8970-7e8fd4f833a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1be426cd-554b-4138-b963-da19724a766f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.2246192} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.475691,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw","level":"info","message":"auth send jwt"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a78089bbf7abd6ff7a0fd87dbf5d0eba","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6519bb0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe573940e-681a-4258-8970-7e8fd4f833a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"24471c21-73f1-46d4-b5b1-f2e3119d99b9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.2314768} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.320017,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} device-1 | {"level":"info","message":"POST /devices/e573940e-681a-4258-8970-7e8fd4f833a7/signaling 200 13ms","method":"POST","requestID":"a6519bb0-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/e573940e-681a-4258-8970-7e8fd4f833a7/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a652ad20-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.824489,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162794,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a78089bbf7abd6ff7a0fd87dbf5d0eba"},"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/e573940e-681a-4258-8970-7e8fd4f833a7/signaling 200 12ms","method":"POST","requestID":"a652ad20-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/e573940e-681a-4258-8970-7e8fd4f833a7/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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:32.041969553Z"}]},"request_id":"6fbbf79e-d6fa-49f5-9270-382c134d8754","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.2386544} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"},"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":"19d587bb-d1de-4179-854c-d1bd47a81f66"},{"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":"a75c9b16-d0b8-4d9f-a06a-accd183ebe5a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"048069d3-9d0c-463a-a224-ffa7ff5aa672"}]},"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/e573940e-681a-4258-8970-7e8fd4f833a7"},{"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/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f"}],"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":"a78089bbf7abd6ff7a0fd87dbf5d0eba"},"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:52962","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} gateway-1 | {"time_local":"08/May/2024:10:06:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a78089bbf7abd6ff7a0fd87dbf5d0eba"} device-1 | {"level":"info","message":"GET /devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f? 200 14ms","method":"GET","requestID":"a78089bbf7abd6ff7a0fd87dbf5d0eba","responseTime":14,"status":200,"url":"/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f?"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.766016,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162794,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw"} 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":"a654f710-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6f2a492bb05d938ef3b39cfaa5fcdc18","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665605,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162794,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f2a492bb05d938ef3b39cfaa5fcdc18"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"af31c1fa-9c89-4596-82fe-dcc3d0d4ccbd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.2564006} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e65efdf5-6186-403c-84b0-bccfa64d19f0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.2565737} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a654f710-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe573940e-681a-4258-8970-7e8fd4f833a7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe573940e-681a-4258-8970-7e8fd4f833a7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:32.078396094Z"}]},"request_id":"d8c321a5-76cf-42a7-a989-f9045801bee4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.2617764} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f2a492bb05d938ef3b39cfaa5fcdc18"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e573940e-681a-4258-8970-7e8fd4f833a7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6f2a492bb05d938ef3b39cfaa5fcdc18"} device-1 | {"level":"info","message":"GET /devices/e573940e-681a-4258-8970-7e8fd4f833a7? 200 16ms","method":"GET","requestID":"6f2a492bb05d938ef3b39cfaa5fcdc18","responseTime":16,"status":200,"url":"/devices/e573940e-681a-4258-8970-7e8fd4f833a7?"} 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/b1bbbb84-7db1-4a72-8a99-a0362225929f'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b1bbbb84-7db1-4a72-8a99-a0362225929f'"} 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 63ms","method":"POST","requestID":"a654f710-0d22-11ef-9118-35435c36490d","responseTime":63,"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/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"72ce3c94-769e-4adf-9685-0354c13e19b1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.3332958} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.172705,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","object_type":"device","rebac_allow":false,"scope_allow":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":"a6626490-0d22-11ef-9118-35435c36490d"},"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/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f/signaling 200 8ms","method":"POST","requestID":"a6626490-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe573940e-681a-4258-8970-7e8fd4f833a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"030da36c-3c53-4937-bf5a-d49d7209f08e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.34434} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.95071,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a663eb30-0d22-11ef-9118-35435c36490d"},"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/e573940e-681a-4258-8970-7e8fd4f833a7/signaling 200 12ms","method":"POST","requestID":"a663eb30-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/e573940e-681a-4258-8970-7e8fd4f833a7/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b1bbbb84-7db1-4a72-8a99-a0362225929f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b1bbbb84-7db1-4a72-8a99-a0362225929f","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":"b16c01502f82a4212e98ba807c657f42","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/e573940e-681a-4258-8970-7e8fd4f833a7"},{"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/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b1bbbb84-7db1-4a72-8a99-a0362225929f"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"b16c01502f82a4212e98ba807c657f42","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"b16c01502f82a4212e98ba807c657f42"} device-1 | {"data":{"peerconnection":"b1bbbb84-7db1-4a72-8a99-a0362225929f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"b1bbbb84-7db1-4a72-8a99-a0362225929f","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/b1bbbb84-7db1-4a72-8a99-a0362225929f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b1bbbb84-7db1-4a72-8a99-a0362225929f","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":"3624b165fa97fe43318a39f1c01fe16a","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/e573940e-681a-4258-8970-7e8fd4f833a7"},{"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/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b1bbbb84-7db1-4a72-8a99-a0362225929f"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb1bbbb84-7db1-4a72-8a99-a0362225929f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"17e94a5d-49f2-4abd-a210-5fac02b8713a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.4243255} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.143272,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b1bbbb84-7db1-4a72-8a99-a0362225929f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b1bbbb84-7db1-4a72-8a99-a0362225929f","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":"a6704740-0d22-11ef-9118-35435c36490d"},"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/b1bbbb84-7db1-4a72-8a99-a0362225929f 200 8ms","method":"GET","requestID":"a6704740-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/peerconnections/b1bbbb84-7db1-4a72-8a99-a0362225929f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"3624b165fa97fe43318a39f1c01fe16a","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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.029","http_referrer":"","http_user_agent":"node-fetch","requestID":"3624b165fa97fe43318a39f1c01fe16a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe573940e-681a-4258-8970-7e8fd4f833a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2a3a4da-06bd-4a6f-8731-befaecbdf5f5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.4465864} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.092946,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a673a2a0-0d22-11ef-9118-35435c36490d"},"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/e573940e-681a-4258-8970-7e8fd4f833a7/signaling 200 8ms","method":"POST","requestID":"a673a2a0-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/e573940e-681a-4258-8970-7e8fd4f833a7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06ff8c63-4554-4419-8add-63154386ba2d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.4575021} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.979933,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","object_type":"device","rebac_allow":false,"scope_allow":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":"a6752940-0d22-11ef-9118-35435c36490d"},"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/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f/signaling 200 9ms","method":"POST","requestID":"a6752940-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ae2d6d9eb5948332c3030b6b8b6d569e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.704217,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162794,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw"} 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":"ae2d6d9eb5948332c3030b6b8b6d569e"},"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/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"} gateway-1 | {"time_local":"08/May/2024:10:06:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ae2d6d9eb5948332c3030b6b8b6d569e"} experiment-1 | {"level":"info","message":"GET /experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f 200 9ms","method":"GET","requestID":"ae2d6d9eb5948332c3030b6b8b6d569e","responseTime":9,"status":200,"url":"/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"20bdb532728e82da2e6ef7f46508c42d","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.691251,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162794,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw"} 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":"20bdb532728e82da2e6ef7f46508c42d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.672728,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b1bbbb84-7db1-4a72-8a99-a0362225929f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/b1bbbb84-7db1-4a72-8a99-a0362225929f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162794,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw"} 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":"a67fb090-0d22-11ef-9118-35435c36490d"},"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/b1bbbb84-7db1-4a72-8a99-a0362225929f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b1bbbb84-7db1-4a72-8a99-a0362225929f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b1bbbb84-7db1-4a72-8a99-a0362225929f","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":"3e1de45888393ef978bbf9c893fe55e6","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb1bbbb84-7db1-4a72-8a99-a0362225929f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb1bbbb84-7db1-4a72-8a99-a0362225929f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"fb85a13a-6d09-4d2d-a194-47a8a1fa7208","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.5368476} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20960c7b-b5f9-46d0-b8a4-51594173948e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.5371702} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/e573940e-681a-4258-8970-7e8fd4f833a7"},{"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/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b1bbbb84-7db1-4a72-8a99-a0362225929f"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4760bedaccf1e34dfec71da13293bafc","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":"a67fb090-0d22-11ef-9118-35435c36490d"},"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":"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/e573940e-681a-4258-8970-7e8fd4f833a7"},{"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/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b1bbbb84-7db1-4a72-8a99-a0362225929f"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"b1bbbb84-7db1-4a72-8a99-a0362225929f","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/b1bbbb84-7db1-4a72-8a99-a0362225929f 204 42ms","method":"DELETE","requestID":"a67fb090-0d22-11ef-9118-35435c36490d","responseTime":42,"status":204,"url":"/peerconnections/b1bbbb84-7db1-4a72-8a99-a0362225929f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe573940e-681a-4258-8970-7e8fd4f833a7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f6a76237-0031-4652-9408-d9fd7f3a1fdd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.5841653} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.128868,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a688b140-0d22-11ef-9118-35435c36490d"},"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/e573940e-681a-4258-8970-7e8fd4f833a7/signaling 200 8ms","method":"POST","requestID":"a688b140-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/e573940e-681a-4258-8970-7e8fd4f833a7/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3578d5b4-cd40-4e1d-8596-52bf06ac9a6f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3578d5b4-cd40-4e1d-8596-52bf06ac9a6f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"badf0455-4f3d-4b09-b61e-9bbe028546fd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.5901172} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0df319a4-e3f7-41df-82f0-474b445f3839","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.5902743} 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":"20bdb532728e82da2e6ef7f46508c42d"},"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:52962","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6eca429-ffc5-4d98-942f-ebce65662d65","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.5956256} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.423172,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a68a37e0-0d22-11ef-9118-35435c36490d"},"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/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f/signaling 200 10ms","method":"POST","requestID":"a68a37e0-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"} gateway-1 | {"time_local":"08/May/2024:10:06:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f 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":"20bdb532728e82da2e6ef7f46508c42d"} experiment-1 | {"level":"info","message":"DELETE /experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f 204 126ms","method":"DELETE","requestID":"20bdb532728e82da2e6ef7f46508c42d","responseTime":126,"status":204,"url":"/experiments/3578d5b4-cd40-4e1d-8596-52bf06ac9a6f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 102ms","method":"POST","requestID":"3e1de45888393ef978bbf9c893fe55e6","responseTime":102,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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.104","http_referrer":"","http_user_agent":"node-fetch","requestID":"3e1de45888393ef978bbf9c893fe55e6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 101ms","method":"POST","requestID":"4760bedaccf1e34dfec71da13293bafc","responseTime":101,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06: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.105","http_referrer":"","http_user_agent":"node-fetch","requestID":"4760bedaccf1e34dfec71da13293bafc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"eba9be952125bac7e486b0c1c39c7f96","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/May/2024:10:06:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2845","request_time":"0.617","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"723e35f19ab9465b51b2f598a50fee7d"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.79879,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162794,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw"} 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":"eba9be952125bac7e486b0c1c39c7f96"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway-1 | {"time_local":"08/May/2024:10:06:34 +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.641","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"afaf1fbb9ca09144ebcd44baad6b4462"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e573940e-681a-4258-8970-7e8fd4f833a7' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/06fd30f6-48a7-417c-b1f5-e4ca6b5afc5f' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535dc6bb-f961-4903-9ded-969f48ab588c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d628a1d9-e251-4201-8f26-ba6d36e8f994","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.664541} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eba9be952125bac7e486b0c1c39c7f96"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"15b5712f-db62-4d66-8db6-c693592908fb","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.6684716} 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":"eba9be952125bac7e486b0c1c39c7f96"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535dc6bb-f961-4903-9ded-969f48ab588c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"6754de38-be29-4d4f-b0b3-a0b60fb9177e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.6811922} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c214a7c-8ff6-4b4f-a96d-a9760d8e3d0d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.6812487} 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":"eba9be952125bac7e486b0c1c39c7f96"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535dc6bb-f961-4903-9ded-969f48ab588c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535dc6bb-f961-4903-9ded-969f48ab588c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:34.681164378Z"}]},"request_id":"3cfeef73-1f11-42cd-a071-098e3e9ec665","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.6856341} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eba9be952125bac7e486b0c1c39c7f96"},"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":"eba9be952125bac7e486b0c1c39c7f96","responseTime":44,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/May/2024:10:06:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eba9be952125bac7e486b0c1c39c7f96"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8a3790f11ebfba63e9a87c62a5120603","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.934723,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:34Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162794,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NH0.pe34h0EyYulxBcBq1Ehb5I6e-12WrbPM0mmgBG9gOsw"} 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":"8a3790f11ebfba63e9a87c62a5120603"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"29571018-b4c1-4d4b-af16-0f5ae4eb8ae8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.7072492} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a3790f11ebfba63e9a87c62a5120603"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b238dfe5-0f44-46c8-82eb-2814625506ac","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.7113457} 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":"8a3790f11ebfba63e9a87c62a5120603"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"45307b0d-d2e3-413a-8724-69344f1dee8e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.720869} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"4d34edf6-edf0-4586-8277-953204fa5629","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.7214122} 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":"8a3790f11ebfba63e9a87c62a5120603"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:34.721387485Z"}]},"request_id":"05719800-9cb1-483c-9bd9-56620f6369fc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162794.7251186} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a3790f11ebfba63e9a87c62a5120603"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8a3790f11ebfba63e9a87c62a5120603"} device-1 | {"level":"info","message":"POST /devices? 201 34ms","method":"POST","requestID":"8a3790f11ebfba63e9a87c62a5120603","responseTime":34,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NX0.qPLUnPZspo7e77l3dq671CQvIfJga61wArVYls9Egmg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f40332b71ad97986c77152069119177a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703019,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162795,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NX0.qPLUnPZspo7e77l3dq671CQvIfJga61wArVYls9Egmg"} 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":"f40332b71ad97986c77152069119177a"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:34.721387485Z"}]},"request_id":"61d05593-de44-409b-a007-2164db280735","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162795.2610354} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f40332b71ad97986c77152069119177a"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8f5d04c2-647a-4e85-b8e1-4edfabf70b2e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162795.2659342} 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":"f40332b71ad97986c77152069119177a"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:34.721387485Z"}]},"request_id":"ca8fef77-020f-4116-b3b8-c9745ae57dfd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162795.292375} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f40332b71ad97986c77152069119177a"},"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/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8 200 43ms","method":"PATCH","requestID":"f40332b71ad97986c77152069119177a","responseTime":43,"status":200,"url":"/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8"} gateway-1 | {"time_local":"08/May/2024:10:06:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f40332b71ad97986c77152069119177a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NX0.qPLUnPZspo7e77l3dq671CQvIfJga61wArVYls9Egmg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"df0005bc24820f4ef4e0c2b2bb1ba4ce","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:35Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700077,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162795,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5NX0.qPLUnPZspo7e77l3dq671CQvIfJga61wArVYls9Egmg"} 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":"df0005bc24820f4ef4e0c2b2bb1ba4ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8/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":"df0005bc24820f4ef4e0c2b2bb1ba4ce"} device-1 | {"level":"info","message":"POST /devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8/websocket 200 16ms","method":"POST","requestID":"df0005bc24820f4ef4e0c2b2bb1ba4ce","responseTime":16,"status":200,"url":"/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8' 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":"176505580a6b910f04e771e64f31b7ab","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:06:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/535dc6bb-f961-4903-9ded-969f48ab588c/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":"176505580a6b910f04e771e64f31b7ab"} device-1 | {"level":"info","message":"OPTIONS /devices/535dc6bb-f961-4903-9ded-969f48ab588c/websocket 200 1ms","method":"OPTIONS","requestID":"176505580a6b910f04e771e64f31b7ab","responseTime":1,"status":200,"url":"/devices/535dc6bb-f961-4903-9ded-969f48ab588c/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5Nn0.rArtQoN9ulg-czZ9o0moqgdTMTYeLL25hT8lVeECekw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"18cd383bc1d07353f60f18c0677e3275","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700796,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162796,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5Nn0.rArtQoN9ulg-czZ9o0moqgdTMTYeLL25hT8lVeECekw"} 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":"18cd383bc1d07353f60f18c0677e3275"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/535dc6bb-f961-4903-9ded-969f48ab588c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"18cd383bc1d07353f60f18c0677e3275"} device-1 | {"level":"info","message":"POST /devices/535dc6bb-f961-4903-9ded-969f48ab588c/websocket 200 25ms","method":"POST","requestID":"18cd383bc1d07353f60f18c0677e3275","responseTime":25,"status":200,"url":"/devices/535dc6bb-f961-4903-9ded-969f48ab588c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5Nn0.rArtQoN9ulg-czZ9o0moqgdTMTYeLL25hT8lVeECekw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bd5402bedd5b3f9b3e393ba9ce1f80ab","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.689606,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162796,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5Nn0.rArtQoN9ulg-czZ9o0moqgdTMTYeLL25hT8lVeECekw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd5402bedd5b3f9b3e393ba9ce1f80ab"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535dc6bb-f961-4903-9ded-969f48ab588c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535dc6bb-f961-4903-9ded-969f48ab588c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:34.681164378Z"}]},"request_id":"3d3a0610-106d-4d0f-9223-4ebb69264109","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162796.702607} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bd5402bedd5b3f9b3e393ba9ce1f80ab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/535dc6bb-f961-4903-9ded-969f48ab588c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd5402bedd5b3f9b3e393ba9ce1f80ab"} device-1 | {"level":"info","message":"GET /devices/535dc6bb-f961-4903-9ded-969f48ab588c? 200 12ms","method":"GET","requestID":"bd5402bedd5b3f9b3e393ba9ce1f80ab","responseTime":12,"status":200,"url":"/devices/535dc6bb-f961-4903-9ded-969f48ab588c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5Nn0.rArtQoN9ulg-czZ9o0moqgdTMTYeLL25hT8lVeECekw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3eec831bcfe2a85ce0effd287f199215","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.25927,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162796,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5Nn0.rArtQoN9ulg-czZ9o0moqgdTMTYeLL25hT8lVeECekw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3eec831bcfe2a85ce0effd287f199215"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:34.721387485Z"}]},"request_id":"ffd00a12-d8ff-42a0-bd00-16b527ab94b1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162796.7200963} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3eec831bcfe2a85ce0effd287f199215"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3eec831bcfe2a85ce0effd287f199215"} device-1 | {"level":"info","message":"GET /devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8? 200 13ms","method":"GET","requestID":"3eec831bcfe2a85ce0effd287f199215","responseTime":13,"status":200,"url":"/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5Nn0.rArtQoN9ulg-czZ9o0moqgdTMTYeLL25hT8lVeECekw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e1e7ab083195c96d0f849ce1e3a92686","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:52962","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.99319,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162796,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5Nn0.rArtQoN9ulg-czZ9o0moqgdTMTYeLL25hT8lVeECekw"} 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":"e1e7ab083195c96d0f849ce1e3a92686"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"},"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:52962","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.682455,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162796,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5Nn0.rArtQoN9ulg-czZ9o0moqgdTMTYeLL25hT8lVeECekw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7d55580-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.880019,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162796,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5Nn0.rArtQoN9ulg-czZ9o0moqgdTMTYeLL25hT8lVeECekw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7d5a3a0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535dc6bb-f961-4903-9ded-969f48ab588c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535dc6bb-f961-4903-9ded-969f48ab588c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:34.681164378Z"}]},"request_id":"cc94be3a-a5d5-4f31-ba4c-cf6b1a6a2129","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162796.7694738} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7d55580-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:34.721387485Z"}]},"request_id":"f99bd188-ee5d-4b49-97de-feaba925b91a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162796.770154} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7d5a3a0-0d22-11ef-9118-35435c36490d"},"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/535dc6bb-f961-4903-9ded-969f48ab588c? 200 14ms","method":"GET","requestID":"a7d55580-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/535dc6bb-f961-4903-9ded-969f48ab588c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8? 200 13ms","method":"GET","requestID":"a7d5a3a0-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"},"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/4667066d-45e4-4ed1-98ff-5c65a69f8624"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.741092,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162796,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5Nn0.rArtQoN9ulg-czZ9o0moqgdTMTYeLL25hT8lVeECekw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7dd92e0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.718529,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162796,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5Nn0.rArtQoN9ulg-czZ9o0moqgdTMTYeLL25hT8lVeECekw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7ddb9f0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.339228,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535dc6bb-f961-4903-9ded-969f48ab588c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"72cee7ea-7fe1-462a-a71a-e34c3d287d18","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162796.8229258} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7de0810-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535dc6bb-f961-4903-9ded-969f48ab588c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535dc6bb-f961-4903-9ded-969f48ab588c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:34.681164378Z"}]},"request_id":"fb27d377-09ea-4606-9e12-257648ea27cd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162796.8252547} 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":"a7dd92e0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:34.721387485Z"}]},"request_id":"c7615426-8580-411b-939d-88f614a79741","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162796.8279502} device-1 | {"level":"info","message":"POST /devices/535dc6bb-f961-4903-9ded-969f48ab588c/signaling 200 12ms","method":"POST","requestID":"a7de0810-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/535dc6bb-f961-4903-9ded-969f48ab588c/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":"a7ddb9f0-0d22-11ef-9118-35435c36490d"},"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/535dc6bb-f961-4903-9ded-969f48ab588c? 200 21ms","method":"GET","requestID":"a7dd92e0-0d22-11ef-9118-35435c36490d","responseTime":21,"status":200,"url":"/devices/535dc6bb-f961-4903-9ded-969f48ab588c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e1cc4e23-1c82-4d52-adcf-6989698a7e39","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162796.8367946} device-1 | {"level":"info","message":"GET /devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8? 200 21ms","method":"GET","requestID":"a7ddb9f0-0d22-11ef-9118-35435c36490d","responseTime":21,"status":200,"url":"/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4667066d-45e4-4ed1-98ff-5c65a69f8624#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4667066d-45e4-4ed1-98ff-5c65a69f8624","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"c05fb14b-6e80-4e80-9a90-fe5ea592a808","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162796.8369894} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.897499,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","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":"a7e05200-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a223ef97-9dd0-4d9c-9abd-3d277d2a2e47","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162796.8377273} 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":"e1e7ab083195c96d0f849ce1e3a92686"},"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:52962","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:36Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8/signaling 200 13ms","method":"POST","requestID":"a7e05200-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535dc6bb-f961-4903-9ded-969f48ab588c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3cb04f78-028c-4a91-a5c0-7bfd6af8c8af","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162796.8457322} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.94852,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","object_type":"device","rebac_allow":false,"scope_allow":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":"a7e16370-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/May/2024:10:06:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.125","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e1e7ab083195c96d0f849ce1e3a92686"} experiment-1 | {"level":"info","message":"POST /experiments? 201 121ms","method":"POST","requestID":"e1e7ab083195c96d0f849ce1e3a92686","responseTime":121,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/535dc6bb-f961-4903-9ded-969f48ab588c/signaling 200 12ms","method":"POST","requestID":"a7e16370-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/535dc6bb-f961-4903-9ded-969f48ab588c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5Nn0.rArtQoN9ulg-czZ9o0moqgdTMTYeLL25hT8lVeECekw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"733f571e7cd4396209a1fb69c6e4479e","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:36Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1e299d29-0c7d-4918-a81b-ffb7bf2a5137","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162796.859242} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.500311,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7e3ad60-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:39110","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.710227,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162796,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5Nn0.rArtQoN9ulg-czZ9o0moqgdTMTYeLL25hT8lVeECekw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"733f571e7cd4396209a1fb69c6e4479e"},"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/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8/signaling 200 13ms","method":"POST","requestID":"a7e3ad60-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"},"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":"25fa58ea-8f3a-4c56-ba7d-b216c5cdaf38"},{"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":"b89b73f5-f41d-4ece-8865-b39ec6e252ad"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6fc69f56-4568-4aa5-a8ec-06c7e2dc43c5"}]},"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/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8"},{"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/535dc6bb-f961-4903-9ded-969f48ab588c"}],"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535dc6bb-f961-4903-9ded-969f48ab588c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535dc6bb-f961-4903-9ded-969f48ab588c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:34.681164378Z"}]},"request_id":"793ab65f-4a3e-46eb-93c3-5d94cbecb0b9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162796.8692052} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"733f571e7cd4396209a1fb69c6e4479e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.854742,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162796,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5Nn0.rArtQoN9ulg-czZ9o0moqgdTMTYeLL25hT8lVeECekw"} 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":"a7e61e60-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/535dc6bb-f961-4903-9ded-969f48ab588c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"733f571e7cd4396209a1fb69c6e4479e"} device-1 | {"level":"info","message":"GET /devices/535dc6bb-f961-4903-9ded-969f48ab588c? 200 22ms","method":"GET","requestID":"733f571e7cd4396209a1fb69c6e4479e","responseTime":22,"status":200,"url":"/devices/535dc6bb-f961-4903-9ded-969f48ab588c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5Nn0.rArtQoN9ulg-czZ9o0moqgdTMTYeLL25hT8lVeECekw","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d42b4182f462dfd39f97d8f7aa743540","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"13d540d7-bb50-4323-bb2d-2dbab35a38bd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162796.885346} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6dc40ebb-f54e-408b-abd9-b1d4c67dd3a7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162796.8855922} 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":"a7e61e60-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.375265,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162796,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5Nn0.rArtQoN9ulg-czZ9o0moqgdTMTYeLL25hT8lVeECekw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d42b4182f462dfd39f97d8f7aa743540"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:34.721387485Z"}]},"request_id":"d697614f-bc0b-4b05-8def-787e2d7447f5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162796.893432} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d42b4182f462dfd39f97d8f7aa743540"},"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/f902115e-da25-4b05-a377-463e9202b1b9'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f902115e-da25-4b05-a377-463e9202b1b9'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 39ms","method":"POST","requestID":"a7e61e60-0d22-11ef-9118-35435c36490d","responseTime":39,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8? 200 27ms","method":"GET","requestID":"d42b4182f462dfd39f97d8f7aa743540","responseTime":27,"status":200,"url":"/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8?"} gateway-1 | {"time_local":"08/May/2024:10:06:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d42b4182f462dfd39f97d8f7aa743540"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535dc6bb-f961-4903-9ded-969f48ab588c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"04fb32d2-0cad-4778-a7f8-1a38514d568a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162796.9383042} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.283975,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","object_type":"device","rebac_allow":false,"scope_allow":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":"a7efe260-0d22-11ef-9118-35435c36490d"},"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/535dc6bb-f961-4903-9ded-969f48ab588c/signaling 200 8ms","method":"POST","requestID":"a7efe260-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/535dc6bb-f961-4903-9ded-969f48ab588c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"05f46c18-af1d-4359-9ead-796c3102f7b5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162796.947294} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.180547,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:36Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a7f141f0-0d22-11ef-9118-35435c36490d"},"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/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8/signaling 200 9ms","method":"POST","requestID":"a7f141f0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8/signaling"} device-1 | {"data":{"peerconnection":"f902115e-da25-4b05-a377-463e9202b1b9","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/f902115e-da25-4b05-a377-463e9202b1b9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f902115e-da25-4b05-a377-463e9202b1b9","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":"da99391fee5dbffec42a914ca3b98fdf","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/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8"},{"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/535dc6bb-f961-4903-9ded-969f48ab588c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f902115e-da25-4b05-a377-463e9202b1b9"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"da99391fee5dbffec42a914ca3b98fdf","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"da99391fee5dbffec42a914ca3b98fdf"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c'"} device-1 | {"data":{"peerconnection":"f902115e-da25-4b05-a377-463e9202b1b9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"f902115e-da25-4b05-a377-463e9202b1b9","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/f902115e-da25-4b05-a377-463e9202b1b9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f902115e-da25-4b05-a377-463e9202b1b9","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":"812354ccea100bd47db245362cfcff57","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/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8"},{"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/535dc6bb-f961-4903-9ded-969f48ab588c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f902115e-da25-4b05-a377-463e9202b1b9"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:38Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff902115e-da25-4b05-a377-463e9202b1b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c094e0c-f877-4011-9c29-59d8295b3039","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162798.9909315} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.268624,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f902115e-da25-4b05-a377-463e9202b1b9","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f902115e-da25-4b05-a377-463e9202b1b9","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":"a928fea0-0d22-11ef-9118-35435c36490d"},"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/f902115e-da25-4b05-a377-463e9202b1b9 200 9ms","method":"GET","requestID":"a928fea0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/peerconnections/f902115e-da25-4b05-a377-463e9202b1b9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"812354ccea100bd47db245362cfcff57","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"812354ccea100bd47db245362cfcff57"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"776e3ccd-a188-49e5-be77-455de5f65e6e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.0177302} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.179648,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","object_type":"device","rebac_allow":false,"scope_allow":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":"a92d1d50-0d22-11ef-9118-35435c36490d"},"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/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8/signaling 200 9ms","method":"POST","requestID":"a92d1d50-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535dc6bb-f961-4903-9ded-969f48ab588c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b404acbd-6728-4510-b16c-78239b0b3fb5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.0275803} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.220275,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a92ea3f0-0d22-11ef-9118-35435c36490d"},"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/535dc6bb-f961-4903-9ded-969f48ab588c/signaling 200 9ms","method":"POST","requestID":"a92ea3f0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/535dc6bb-f961-4903-9ded-969f48ab588c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5OX0.7pqpcImlMoXyBwZd9EVOahBvNUu6tv_f6AgU1fyrSKg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"22a8272b67ac7aedd065fe48678bc36d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.666078,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162799,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5OX0.7pqpcImlMoXyBwZd9EVOahBvNUu6tv_f6AgU1fyrSKg"} 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":"22a8272b67ac7aedd065fe48678bc36d"},"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/4667066d-45e4-4ed1-98ff-5c65a69f8624"} gateway-1 | {"time_local":"08/May/2024:10:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624 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":"22a8272b67ac7aedd065fe48678bc36d"} experiment-1 | {"level":"info","message":"GET /experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624 200 8ms","method":"GET","requestID":"22a8272b67ac7aedd065fe48678bc36d","responseTime":8,"status":200,"url":"/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5OX0.7pqpcImlMoXyBwZd9EVOahBvNUu6tv_f6AgU1fyrSKg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9bd70c096e6be64567281da43e1c7672","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.908215,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162799,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5OX0.7pqpcImlMoXyBwZd9EVOahBvNUu6tv_f6AgU1fyrSKg"} 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":"9bd70c096e6be64567281da43e1c7672"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.666524,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f902115e-da25-4b05-a377-463e9202b1b9","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/f902115e-da25-4b05-a377-463e9202b1b9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162799,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5OX0.7pqpcImlMoXyBwZd9EVOahBvNUu6tv_f6AgU1fyrSKg"} 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":"a939a070-0d22-11ef-9118-35435c36490d"},"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/f902115e-da25-4b05-a377-463e9202b1b9' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f902115e-da25-4b05-a377-463e9202b1b9' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"f902115e-da25-4b05-a377-463e9202b1b9","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff902115e-da25-4b05-a377-463e9202b1b9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff902115e-da25-4b05-a377-463e9202b1b9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"de99b8e4-feee-452b-991b-db1d1fa53d08","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.1088445} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"32fd20a8a059e6cb8b4c4ca8b2913177","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"57c27413-0ecd-4303-9a24-f2ac78eee8ec","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.1091933} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8"},{"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/535dc6bb-f961-4903-9ded-969f48ab588c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f902115e-da25-4b05-a377-463e9202b1b9"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5db24dcdc75e6e6b2777ed91abb1c475","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":"a939a070-0d22-11ef-9118-35435c36490d"},"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":"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/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8"},{"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/535dc6bb-f961-4903-9ded-969f48ab588c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f902115e-da25-4b05-a377-463e9202b1b9"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"f902115e-da25-4b05-a377-463e9202b1b9","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/f902115e-da25-4b05-a377-463e9202b1b9 204 52ms","method":"DELETE","requestID":"a939a070-0d22-11ef-9118-35435c36490d","responseTime":52,"status":204,"url":"/peerconnections/f902115e-da25-4b05-a377-463e9202b1b9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3b9365b-5752-4f41-ad66-7016c5194ed5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.1679194} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.22341,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8","object_type":"device","rebac_allow":false,"scope_allow":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":"a94400b0-0d22-11ef-9118-35435c36490d"},"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/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8/signaling 200 9ms","method":"POST","requestID":"a94400b0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4667066d-45e4-4ed1-98ff-5c65a69f8624': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4667066d-45e4-4ed1-98ff-5c65a69f8624","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"5f8aaf08-8aa3-421e-bf5c-56b358dc1546","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.1756797} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"514afc52-5169-4d68-afaf-fd0673598f3f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.1759744} 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":"9bd70c096e6be64567281da43e1c7672"},"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:52962","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F535dc6bb-f961-4903-9ded-969f48ab588c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2240cd2-7026-4fac-b073-519996f0e75d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.1805103} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.882819,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/535dc6bb-f961-4903-9ded-969f48ab588c","object_type":"device","rebac_allow":false,"scope_allow":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":"a945ae60-0d22-11ef-9118-35435c36490d"},"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/535dc6bb-f961-4903-9ded-969f48ab588c/signaling 200 11ms","method":"POST","requestID":"a945ae60-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/535dc6bb-f961-4903-9ded-969f48ab588c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"} gateway-1 | {"time_local":"08/May/2024:10:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9bd70c096e6be64567281da43e1c7672"} experiment-1 | {"level":"info","message":"DELETE /experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624 204 151ms","method":"DELETE","requestID":"9bd70c096e6be64567281da43e1c7672","responseTime":151,"status":204,"url":"/experiments/4667066d-45e4-4ed1-98ff-5c65a69f8624"} gateway-1 | {"time_local":"08/May/2024:10:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3192","request_time":"3.922","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"9b6bc18bd8f6a19f9927c38596d24750"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 130ms","method":"POST","requestID":"32fd20a8a059e6cb8b4c4ca8b2913177","responseTime":130,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"32fd20a8a059e6cb8b4c4ca8b2913177"} gateway-1 | {"time_local":"08/May/2024:10:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.135","http_referrer":"","http_user_agent":"node-fetch","requestID":"5db24dcdc75e6e6b2777ed91abb1c475"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"5db24dcdc75e6e6b2777ed91abb1c475","responseTime":131,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5OX0.7pqpcImlMoXyBwZd9EVOahBvNUu6tv_f6AgU1fyrSKg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d53bd04cb06f7aec8451205c5db9df9c","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} gateway-1 | {"time_local":"08/May/2024:10:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2704","request_time":"2.570","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5ed7cf5f935ffacf8e79397859e89923"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.338104,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162799,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5OX0.7pqpcImlMoXyBwZd9EVOahBvNUu6tv_f6AgU1fyrSKg"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d3352a8f-a5b5-40c7-adfc-7c05b27e9fe8' closed"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d53bd04cb06f7aec8451205c5db9df9c"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ec791210-8286-44ad-a8ff-2a41b08a761e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.265145} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d53bd04cb06f7aec8451205c5db9df9c"},"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/535dc6bb-f961-4903-9ded-969f48ab588c' 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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e6edd6b-a540-429e-b120-ef407c8bdcb2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.2704434} 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":"d53bd04cb06f7aec8451205c5db9df9c"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f2a1a8a3-6843-47a9-b512-14529b2ede0e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.2841172} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"edb962c1-553f-453e-97f0-e2f0e6f73619","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.2855616} 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":"d53bd04cb06f7aec8451205c5db9df9c"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:39.285527214Z"}]},"request_id":"a555b022-ad82-4289-8409-6f19a0715683","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.2960546} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d53bd04cb06f7aec8451205c5db9df9c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d53bd04cb06f7aec8451205c5db9df9c"} device-1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"d53bd04cb06f7aec8451205c5db9df9c","responseTime":51,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5OX0.7pqpcImlMoXyBwZd9EVOahBvNUu6tv_f6AgU1fyrSKg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4fd79250a9de9fac724b3dd0c41d4d8e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.732929,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162799,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5OX0.7pqpcImlMoXyBwZd9EVOahBvNUu6tv_f6AgU1fyrSKg"} 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":"4fd79250a9de9fac724b3dd0c41d4d8e"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"14c3a991-e5ff-457f-9387-2340bd0b05d7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.3225224} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4fd79250a9de9fac724b3dd0c41d4d8e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0094b5cb-32bd-47c7-a579-f04366306b3f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.3278885} 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":"4fd79250a9de9fac724b3dd0c41d4d8e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"2866569f-a36a-40b9-b8f4-32ab0932c29c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.3368404} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2fce1df0-7101-4ed4-ac48-32f817ba5914","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.3370008} 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":"4fd79250a9de9fac724b3dd0c41d4d8e"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:39.336813451Z"}]},"request_id":"ddb4c30b-5dc4-4bdf-9a33-5c732241b112","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.3421574} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4fd79250a9de9fac724b3dd0c41d4d8e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4fd79250a9de9fac724b3dd0c41d4d8e"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"4fd79250a9de9fac724b3dd0c41d4d8e","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5OX0.7pqpcImlMoXyBwZd9EVOahBvNUu6tv_f6AgU1fyrSKg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7127fca01aa0664ccf0719dfe8f9cffb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.674206,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162799,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5OX0.7pqpcImlMoXyBwZd9EVOahBvNUu6tv_f6AgU1fyrSKg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7127fca01aa0664ccf0719dfe8f9cffb"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:39.336813451Z"}]},"request_id":"e15d3909-ff1d-4809-aa45-ba6ac8a7487f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.8579023} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7127fca01aa0664ccf0719dfe8f9cffb"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33b6f726-6aac-4c94-92a1-948e1a507d28","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.8632624} 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":"7127fca01aa0664ccf0719dfe8f9cffb"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:39.336813451Z"}]},"request_id":"1bf7049c-edf5-40a3-8bbd-5c199375d22d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162799.8761137} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7127fca01aa0664ccf0719dfe8f9cffb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.034","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"7127fca01aa0664ccf0719dfe8f9cffb"} device-1 | {"level":"info","message":"PATCH /devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e 200 30ms","method":"PATCH","requestID":"7127fca01aa0664ccf0719dfe8f9cffb","responseTime":30,"status":200,"url":"/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5OX0.7pqpcImlMoXyBwZd9EVOahBvNUu6tv_f6AgU1fyrSKg","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8514bf40533ab7041e67a0870347d25c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.883678,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:39Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162799,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2Mjc5OX0.7pqpcImlMoXyBwZd9EVOahBvNUu6tv_f6AgU1fyrSKg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8514bf40533ab7041e67a0870347d25c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e/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":"8514bf40533ab7041e67a0870347d25c"} device-1 | {"level":"info","message":"POST /devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e/websocket 200 15ms","method":"POST","requestID":"8514bf40533ab7041e67a0870347d25c","responseTime":15,"status":200,"url":"/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e' 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":"acd13078cbfa4df8c30411e0d3f1532c","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7/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":"acd13078cbfa4df8c30411e0d3f1532c"} device-1 | {"level":"info","message":"OPTIONS /devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7/websocket 200 0ms","method":"OPTIONS","requestID":"acd13078cbfa4df8c30411e0d3f1532c","responseTime":0,"status":200,"url":"/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwMX0.wl2WKF1BcVv6PwPgc8uql95JCgRpHJal2OYVwTOuFgY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ff3c3a45eed0e3fd2ba5fcdbca9edd34","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.711496,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162801,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwMX0.wl2WKF1BcVv6PwPgc8uql95JCgRpHJal2OYVwTOuFgY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff3c3a45eed0e3fd2ba5fcdbca9edd34"},"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/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7/websocket 200 21ms","method":"POST","requestID":"ff3c3a45eed0e3fd2ba5fcdbca9edd34","responseTime":21,"status":200,"url":"/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7/websocket"} gateway-1 | {"time_local":"08/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7/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":"ff3c3a45eed0e3fd2ba5fcdbca9edd34"} device-1 | {"level":"info","message":"device 'http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwMX0.wl2WKF1BcVv6PwPgc8uql95JCgRpHJal2OYVwTOuFgY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d2d353fe30b2c52c29b8d26e9b744e57","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.705605,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162801,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwMX0.wl2WKF1BcVv6PwPgc8uql95JCgRpHJal2OYVwTOuFgY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2d353fe30b2c52c29b8d26e9b744e57"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:39.285527214Z"}]},"request_id":"920faaa2-31df-447c-905b-46c135e1a5e3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162801.2881331} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2d353fe30b2c52c29b8d26e9b744e57"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d2d353fe30b2c52c29b8d26e9b744e57"} device-1 | {"level":"info","message":"GET /devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7? 200 10ms","method":"GET","requestID":"d2d353fe30b2c52c29b8d26e9b744e57","responseTime":10,"status":200,"url":"/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwMX0.wl2WKF1BcVv6PwPgc8uql95JCgRpHJal2OYVwTOuFgY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"af1ed0be91b072e5fb40049d77b44d63","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.662165,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162801,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwMX0.wl2WKF1BcVv6PwPgc8uql95JCgRpHJal2OYVwTOuFgY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af1ed0be91b072e5fb40049d77b44d63"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:39.336813451Z"}]},"request_id":"c3b6c89f-394b-4c35-9f2e-d2022b9db0c6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162801.3022537} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af1ed0be91b072e5fb40049d77b44d63"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"af1ed0be91b072e5fb40049d77b44d63"} device-1 | {"level":"info","message":"GET /devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e? 200 10ms","method":"GET","requestID":"af1ed0be91b072e5fb40049d77b44d63","responseTime":10,"status":200,"url":"/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwMX0.wl2WKF1BcVv6PwPgc8uql95JCgRpHJal2OYVwTOuFgY","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e851b815d81659944c5da070cfc94ec7","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:52962","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.864937,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162801,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwMX0.wl2WKF1BcVv6PwPgc8uql95JCgRpHJal2OYVwTOuFgY"} 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":"e851b815d81659944c5da070cfc94ec7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"},"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:52962","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65992,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162801,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwMX0.wl2WKF1BcVv6PwPgc8uql95JCgRpHJal2OYVwTOuFgY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa902fc0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:39136","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:39136","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.088637,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162801,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwMX0.wl2WKF1BcVv6PwPgc8uql95JCgRpHJal2OYVwTOuFgY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa9056d0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:39.285527214Z"}]},"request_id":"4fb6f344-1838-446e-a4a0-9b992018c036","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162801.3474357} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa902fc0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:39.336813451Z"}]},"request_id":"ff69c8cc-1805-4cb4-9fbc-08c2acd49f63","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162801.3508282} 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":"aa9056d0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"GET /devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7? 200 11ms","method":"GET","requestID":"aa902fc0-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e? 200 13ms","method":"GET","requestID":"aa9056d0-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"},"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:52962","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:39136","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:41Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.092774,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162801,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwMX0.wl2WKF1BcVv6PwPgc8uql95JCgRpHJal2OYVwTOuFgY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa97a9d0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:39136","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.832103,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162801,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwMX0.wl2WKF1BcVv6PwPgc8uql95JCgRpHJal2OYVwTOuFgY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa97d0e0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7bb14f49-0b87-4ad0-ab35-7dca732af6b1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162801.3974674} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.989675,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","object_type":"device","rebac_allow":false,"scope_allow":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":"aa97f7f0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:39.336813451Z"}]},"request_id":"90e2c7c6-8430-4544-aea4-d945bf726526","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162801.400229} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:39.285527214Z"}]},"request_id":"fbee6e1c-0066-4217-b56c-3f1bc1bfbce2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162801.4009051} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa97d0e0-0d22-11ef-9118-35435c36490d"},"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":"aa97a9d0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3cb0e1fe-e219-4f72-896b-0265cc7a2993#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3cb0e1fe-e219-4f72-896b-0265cc7a2993","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"6958c3d2-861b-4567-8fa6-a2e47d1f9322","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162801.4069476} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5385448a-6915-46ce-ba47-dd7879a42bd5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162801.4072073} 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":"e851b815d81659944c5da070cfc94ec7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7/signaling 200 19ms","method":"POST","requestID":"aa97f7f0-0d22-11ef-9118-35435c36490d","responseTime":19,"status":200,"url":"/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e? 200 21ms","method":"GET","requestID":"aa97d0e0-0d22-11ef-9118-35435c36490d","responseTime":21,"status":200,"url":"/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7? 200 24ms","method":"GET","requestID":"aa97a9d0-0d22-11ef-9118-35435c36490d","responseTime":24,"status":200,"url":"/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:41Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.113","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e851b815d81659944c5da070cfc94ec7"} experiment-1 | {"level":"info","message":"POST /experiments? 201 108ms","method":"POST","requestID":"e851b815d81659944c5da070cfc94ec7","responseTime":108,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f74903c-d694-4b04-a109-10d072d9e073","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162801.4194026} authorization-1 | {"client_addr":"127.0.0.1:39136","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.002618,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa9b7a60-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce865746-e81e-427d-9720-6faed6e2e8d1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162801.421803} authorization-1 | {"client_addr":"127.0.0.1:39136","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.141899,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa9bc880-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwMX0.wl2WKF1BcVv6PwPgc8uql95JCgRpHJal2OYVwTOuFgY","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"POST /devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e/signaling 200 10ms","method":"POST","requestID":"aa9b7a60-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"47cf4bbf2614fdda013fb43d166817c9","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7/signaling 200 12ms","method":"POST","requestID":"aa9bc880-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.920008,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162801,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwMX0.wl2WKF1BcVv6PwPgc8uql95JCgRpHJal2OYVwTOuFgY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47cf4bbf2614fdda013fb43d166817c9"},"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:52962","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:39.285527214Z"}]},"request_id":"3c158d0d-73d0-42e6-b0d7-3c9c2ce4aa23","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162801.4340808} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d46b3663-4f29-452c-b4d9-c74c746dc375","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162801.4342027} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47cf4bbf2614fdda013fb43d166817c9"},"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:52962","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.186647,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa9deb60-0d22-11ef-9118-35435c36490d"},"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":"08/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"47cf4bbf2614fdda013fb43d166817c9"} device-1 | {"level":"info","message":"GET /devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7? 200 12ms","method":"GET","requestID":"47cf4bbf2614fdda013fb43d166817c9","responseTime":12,"status":200,"url":"/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e/signaling 200 9ms","method":"POST","requestID":"aa9deb60-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"},"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":"d77e082e-bc26-4ada-8105-23945d696e2d"},{"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":"225110ee-00f3-49c0-90b5-6e8db48aaa1e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"02c3b732-27f7-48d2-bb43-0aba7874180a"}]},"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/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7"},{"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/6ac4c087-e703-47a7-9ee2-b21fdb9c899e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwMX0.wl2WKF1BcVv6PwPgc8uql95JCgRpHJal2OYVwTOuFgY","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:41Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0c03283aa60aebe97365727dcfcc840c","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.826204,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:41Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162801,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwMX0.wl2WKF1BcVv6PwPgc8uql95JCgRpHJal2OYVwTOuFgY"} 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":"aa9fc020-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.878495,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162801,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwMX0.wl2WKF1BcVv6PwPgc8uql95JCgRpHJal2OYVwTOuFgY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c03283aa60aebe97365727dcfcc840c"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:39.336813451Z"}]},"request_id":"e5757309-6e3d-49ce-b74f-bcffcf15b131","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162801.4534883} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c03283aa60aebe97365727dcfcc840c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"232d08e4-cf6e-4875-976d-2c80a23b74ba","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162801.4544394} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a67779b-c5c5-4769-bd09-2db65a938df0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162801.4547508} 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":"aa9fc020-0d22-11ef-9118-35435c36490d"},"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":"08/May/2024:10:06:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0c03283aa60aebe97365727dcfcc840c"} device-1 | {"level":"info","message":"GET /devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e? 200 13ms","method":"GET","requestID":"0c03283aa60aebe97365727dcfcc840c","responseTime":13,"status":200,"url":"/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e?"} 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/9f699126-3715-43e6-8c4f-8ad412cf82a2'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9f699126-3715-43e6-8c4f-8ad412cf82a2'"} 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":"aa9fc020-0d22-11ef-9118-35435c36490d","responseTime":36,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a143eab-d6e1-45dc-bcbc-dce90cb992f8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162801.5061474} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.433214,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","object_type":"device","rebac_allow":false,"scope_allow":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":"aaa8c0d0-0d22-11ef-9118-35435c36490d"},"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/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7/signaling 200 9ms","method":"POST","requestID":"aaa8c0d0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ed0318f-e65d-4dac-9c04-bc2c456cb80c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162801.5175982} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.694739,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aaaa6e80-0d22-11ef-9118-35435c36490d"},"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/6ac4c087-e703-47a7-9ee2-b21fdb9c899e/signaling 200 11ms","method":"POST","requestID":"aaaa6e80-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e/signaling"} device-1 | {"data":{"peerconnection":"9f699126-3715-43e6-8c4f-8ad412cf82a2","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/9f699126-3715-43e6-8c4f-8ad412cf82a2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9f699126-3715-43e6-8c4f-8ad412cf82a2","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/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7'"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0b225f106af7a541b21626c33c653582","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/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7'"} 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/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7"},{"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/6ac4c087-e703-47a7-9ee2-b21fdb9c899e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9f699126-3715-43e6-8c4f-8ad412cf82a2"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"0b225f106af7a541b21626c33c653582","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"0b225f106af7a541b21626c33c653582"} device-1 | {"data":{"peerconnection":"9f699126-3715-43e6-8c4f-8ad412cf82a2","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"9f699126-3715-43e6-8c4f-8ad412cf82a2","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/9f699126-3715-43e6-8c4f-8ad412cf82a2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9f699126-3715-43e6-8c4f-8ad412cf82a2","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)"} 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/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7"},{"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/6ac4c087-e703-47a7-9ee2-b21fdb9c899e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9f699126-3715-43e6-8c4f-8ad412cf82a2"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8328d277a380c14a504aad160ae0f4c5","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9f699126-3715-43e6-8c4f-8ad412cf82a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7184efb-797c-4d2e-b015-01ee2a14f3f3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162803.5986168} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.184061,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9f699126-3715-43e6-8c4f-8ad412cf82a2","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9f699126-3715-43e6-8c4f-8ad412cf82a2","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":"abe81ea0-0d22-11ef-9118-35435c36490d"},"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/9f699126-3715-43e6-8c4f-8ad412cf82a2 200 8ms","method":"GET","requestID":"abe81ea0-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/peerconnections/9f699126-3715-43e6-8c4f-8ad412cf82a2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"8328d277a380c14a504aad160ae0f4c5","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"8328d277a380c14a504aad160ae0f4c5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02d18621-dfa1-4b9f-8a0c-3d92a86418e1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162803.620227} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.297907,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"abeb7a00-0d22-11ef-9118-35435c36490d"},"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/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7/signaling 200 8ms","method":"POST","requestID":"abeb7a00-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1d0b7b6-2b7e-4137-b8c0-8bd17aac7bb0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162803.6302552} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.166742,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","object_type":"device","rebac_allow":false,"scope_allow":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":"abed00a0-0d22-11ef-9118-35435c36490d"},"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/6ac4c087-e703-47a7-9ee2-b21fdb9c899e/signaling 200 8ms","method":"POST","requestID":"abed00a0-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwM30.KddHFqc6nmqOf3aw3IiRR513to_ZpNvGeWS_5p1M2KM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"76edd933b8671e89d4b847978b6d1cf7","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.646667,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162803,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwM30.KddHFqc6nmqOf3aw3IiRR513to_ZpNvGeWS_5p1M2KM"} 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":"76edd933b8671e89d4b847978b6d1cf7"},"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/3cb0e1fe-e219-4f72-896b-0265cc7a2993"} gateway-1 | {"time_local":"08/May/2024:10:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993 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":"76edd933b8671e89d4b847978b6d1cf7"} experiment-1 | {"level":"info","message":"GET /experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993 200 9ms","method":"GET","requestID":"76edd933b8671e89d4b847978b6d1cf7","responseTime":9,"status":200,"url":"/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwM30.KddHFqc6nmqOf3aw3IiRR513to_ZpNvGeWS_5p1M2KM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ee33dedfc7c380844a05d8c8d60a86a4","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.947972,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162803,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwM30.KddHFqc6nmqOf3aw3IiRR513to_ZpNvGeWS_5p1M2KM"} 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":"ee33dedfc7c380844a05d8c8d60a86a4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.013633,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9f699126-3715-43e6-8c4f-8ad412cf82a2","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/9f699126-3715-43e6-8c4f-8ad412cf82a2","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162803,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwM30.KddHFqc6nmqOf3aw3IiRR513to_ZpNvGeWS_5p1M2KM"} 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":"abf9aad0-0d22-11ef-9118-35435c36490d"},"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/9f699126-3715-43e6-8c4f-8ad412cf82a2' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9f699126-3715-43e6-8c4f-8ad412cf82a2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9f699126-3715-43e6-8c4f-8ad412cf82a2","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":"62cbf7d54e5b6632060cfd2ab5b6ecba","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9f699126-3715-43e6-8c4f-8ad412cf82a2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9f699126-3715-43e6-8c4f-8ad412cf82a2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"5095a76d-186a-40bb-a6a1-08406b330f66","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162803.7237437} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3c20ee1b-57b7-451e-9027-854e3cbc5a9c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162803.7240071} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7"},{"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/6ac4c087-e703-47a7-9ee2-b21fdb9c899e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9f699126-3715-43e6-8c4f-8ad412cf82a2"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2b30256512ae51310132b75fcec177d1","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":"abf9aad0-0d22-11ef-9118-35435c36490d"},"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","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/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7"},{"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/6ac4c087-e703-47a7-9ee2-b21fdb9c899e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9f699126-3715-43e6-8c4f-8ad412cf82a2"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"9f699126-3715-43e6-8c4f-8ad412cf82a2","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/9f699126-3715-43e6-8c4f-8ad412cf82a2 204 53ms","method":"DELETE","requestID":"abf9aad0-0d22-11ef-9118-35435c36490d","responseTime":53,"status":204,"url":"/peerconnections/9f699126-3715-43e6-8c4f-8ad412cf82a2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"24cf17a7-0771-445b-a019-9b08f24110ac","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162803.7796824} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.291444,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7","object_type":"device","rebac_allow":false,"scope_allow":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":"ac03bcf0-0d22-11ef-9118-35435c36490d"},"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/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7/signaling 200 9ms","method":"POST","requestID":"ac03bcf0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3cb0e1fe-e219-4f72-896b-0265cc7a2993': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3cb0e1fe-e219-4f72-896b-0265cc7a2993","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"47b972ce-0e04-4f1e-a9a1-7657c3bc5be0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162803.7855606} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a6330714-2c35-44ef-85cf-5d1aee03fddf","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162803.785898} 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":"ee33dedfc7c380844a05d8c8d60a86a4"},"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:52962","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6ac4c087-e703-47a7-9ee2-b21fdb9c899e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ecd73c6b-afb4-4d51-ba62-743e9d8b22fd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162803.7912538} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.118777,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e","object_type":"device","rebac_allow":false,"scope_allow":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":"ac0591b0-0d22-11ef-9118-35435c36490d"},"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/6ac4c087-e703-47a7-9ee2-b21fdb9c899e/signaling 200 9ms","method":"POST","requestID":"ac0591b0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"} gateway-1 | {"time_local":"08/May/2024:10:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993 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":"ee33dedfc7c380844a05d8c8d60a86a4"} experiment-1 | {"level":"info","message":"DELETE /experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993 204 134ms","method":"DELETE","requestID":"ee33dedfc7c380844a05d8c8d60a86a4","responseTime":134,"status":204,"url":"/experiments/3cb0e1fe-e219-4f72-896b-0265cc7a2993"} gateway-1 | {"time_local":"08/May/2024:10:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2797","request_time":"3.935","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"3fea2cef373ad622a49ca58413def7a9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 113ms","method":"POST","requestID":"62cbf7d54e5b6632060cfd2ab5b6ecba","responseTime":113,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.117","http_referrer":"","http_user_agent":"node-fetch","requestID":"62cbf7d54e5b6632060cfd2ab5b6ecba"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwM30.KddHFqc6nmqOf3aw3IiRR513to_ZpNvGeWS_5p1M2KM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"56850fd2a55e5e087317d4e45cc9d7cb","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.427736,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162803,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwM30.KddHFqc6nmqOf3aw3IiRR513to_ZpNvGeWS_5p1M2KM"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 125ms","method":"POST","requestID":"2b30256512ae51310132b75fcec177d1","responseTime":125,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.129","http_referrer":"","http_user_agent":"node-fetch","requestID":"2b30256512ae51310132b75fcec177d1"} 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":"56850fd2a55e5e087317d4e45cc9d7cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} gateway-1 | {"time_local":"08/May/2024:10:06:43 +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.588","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8e5543c92d24baafee9d906b80b88f32"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6ac4c087-e703-47a7-9ee2-b21fdb9c899e' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cb007f4e-0597-4e7f-b187-086953d08a5c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162803.8658366} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56850fd2a55e5e087317d4e45cc9d7cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"85d89dab-0571-4f73-b5cb-42a337d02dbf","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162803.8707707} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/71b0b3e3-69cd-4d4a-8f1b-e9d649b441d7' 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":"56850fd2a55e5e087317d4e45cc9d7cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"3954516b-6d59-43ba-aa63-d7888d864aa8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162803.8802574} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ba7bdaad-e0b1-4bb8-a5fc-fc13b9e37efc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162803.8804939} 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":"56850fd2a55e5e087317d4e45cc9d7cb"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:43.880232905Z"}]},"request_id":"4e57aab9-5efd-4b27-b992-7d45ddc4ce2e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162803.884969} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56850fd2a55e5e087317d4e45cc9d7cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"56850fd2a55e5e087317d4e45cc9d7cb"} device-1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"56850fd2a55e5e087317d4e45cc9d7cb","responseTime":44,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwM30.KddHFqc6nmqOf3aw3IiRR513to_ZpNvGeWS_5p1M2KM","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1d9f229d3825bbe976f706a677b40ffe","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.146489,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162803,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwM30.KddHFqc6nmqOf3aw3IiRR513to_ZpNvGeWS_5p1M2KM"} 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":"1d9f229d3825bbe976f706a677b40ffe"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bedec-2620-4d24-a3a8-cbb3f3c166f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c85c7a71-c822-40a0-b7a4-fb59025d13bf","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162803.908988} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d9f229d3825bbe976f706a677b40ffe"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"365bd149-810d-46d5-8a08-c780fa88fdce","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162803.9137752} 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":"1d9f229d3825bbe976f706a677b40ffe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bedec-2620-4d24-a3a8-cbb3f3c166f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"43a72f27-2535-4936-bbcf-77c917ead764","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162803.9260666} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23d5499b-bcf9-4c9f-93b7-d1a3e3cd4624","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162803.9267557} 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":"1d9f229d3825bbe976f706a677b40ffe"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bedec-2620-4d24-a3a8-cbb3f3c166f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bedec-2620-4d24-a3a8-cbb3f3c166f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:43.925988318Z"}]},"request_id":"994b025b-6f46-411c-a366-626d1ce95316","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162803.9315422} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d9f229d3825bbe976f706a677b40ffe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d9f229d3825bbe976f706a677b40ffe"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"1d9f229d3825bbe976f706a677b40ffe","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNH0.3sBl-XoF6avNAQLzhVsuWBjpJS0_dSqa4IbUFso8Yow","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d92e9edac8f495367432442f8595ad5f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:44Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672486,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162804,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNH0.3sBl-XoF6avNAQLzhVsuWBjpJS0_dSqa4IbUFso8Yow"} 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":"d92e9edac8f495367432442f8595ad5f"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:43.880232905Z"}]},"request_id":"62fe0705-1faa-48af-b543-7e4b42f46e50","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162804.4418185} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d92e9edac8f495367432442f8595ad5f"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd432b76-0685-495f-9dda-944360cc4ab2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162804.446212} 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":"d92e9edac8f495367432442f8595ad5f"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:43.880232905Z"}]},"request_id":"ba45ba1c-5168-44a2-bab5-8a25039235f2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162804.4732978} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d92e9edac8f495367432442f8595ad5f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d92e9edac8f495367432442f8595ad5f"} device-1 | {"level":"info","message":"PATCH /devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579 200 41ms","method":"PATCH","requestID":"d92e9edac8f495367432442f8595ad5f","responseTime":41,"status":200,"url":"/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNH0.3sBl-XoF6avNAQLzhVsuWBjpJS0_dSqa4IbUFso8Yow","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4b90409493857318d48090496d3b21a3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:44Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.634697,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162804,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNH0.3sBl-XoF6avNAQLzhVsuWBjpJS0_dSqa4IbUFso8Yow"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4b90409493857318d48090496d3b21a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.017","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"4b90409493857318d48090496d3b21a3"} device-1 | {"level":"info","message":"POST /devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579/websocket 200 13ms","method":"POST","requestID":"4b90409493857318d48090496d3b21a3","responseTime":13,"status":200,"url":"/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579' 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":"3f698e4a563ed402be687727412f69e2","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:06:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3/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":"3f698e4a563ed402be687727412f69e2"} device-1 | {"level":"info","message":"OPTIONS /devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3/websocket 200 1ms","method":"OPTIONS","requestID":"3f698e4a563ed402be687727412f69e2","responseTime":1,"status":200,"url":"/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNX0.ZGBi-Py36Y8PeAicAOQIz9aKInjjOvradxxHCVXTZAI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8c3ae0fec2675af5c9155238b515dd37","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.730232,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:45Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162805,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNX0.ZGBi-Py36Y8PeAicAOQIz9aKInjjOvradxxHCVXTZAI"} 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":"8c3ae0fec2675af5c9155238b515dd37"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8c3ae0fec2675af5c9155238b515dd37"} device-1 | {"level":"info","message":"POST /devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3/websocket 200 22ms","method":"POST","requestID":"8c3ae0fec2675af5c9155238b515dd37","responseTime":22,"status":200,"url":"/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNX0.ZGBi-Py36Y8PeAicAOQIz9aKInjjOvradxxHCVXTZAI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c8211e4f09a3f6c06faa0d84fb4621cd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.773464,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162805,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNX0.ZGBi-Py36Y8PeAicAOQIz9aKInjjOvradxxHCVXTZAI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c8211e4f09a3f6c06faa0d84fb4621cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:43.880232905Z"}]},"request_id":"74b10b01-9689-4392-a88b-44c37449a4ee","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162805.9047027} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c8211e4f09a3f6c06faa0d84fb4621cd"},"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/01d8aa94-7fed-4731-9b77-c8c63c8e1579? 200 12ms","method":"GET","requestID":"c8211e4f09a3f6c06faa0d84fb4621cd","responseTime":12,"status":200,"url":"/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579?"} gateway-1 | {"time_local":"08/May/2024:10:06:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c8211e4f09a3f6c06faa0d84fb4621cd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNX0.ZGBi-Py36Y8PeAicAOQIz9aKInjjOvradxxHCVXTZAI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2de2b0c923a6d8f0b205ab642d0f8678","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.413663,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162805,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNX0.ZGBi-Py36Y8PeAicAOQIz9aKInjjOvradxxHCVXTZAI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2de2b0c923a6d8f0b205ab642d0f8678"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bedec-2620-4d24-a3a8-cbb3f3c166f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bedec-2620-4d24-a3a8-cbb3f3c166f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:43.925988318Z"}]},"request_id":"830fdc1a-12ed-46f6-b4e0-c1ce0ea65b85","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162805.9229357} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2de2b0c923a6d8f0b205ab642d0f8678"},"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/186bedec-2620-4d24-a3a8-cbb3f3c166f3? 200 13ms","method":"GET","requestID":"2de2b0c923a6d8f0b205ab642d0f8678","responseTime":13,"status":200,"url":"/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3?"} gateway-1 | {"time_local":"08/May/2024:10:06:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2de2b0c923a6d8f0b205ab642d0f8678"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNX0.ZGBi-Py36Y8PeAicAOQIz9aKInjjOvradxxHCVXTZAI","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f6e9fec05dd4b02c301c54a8e077e4d5","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:52962","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.868267,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162805,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNX0.ZGBi-Py36Y8PeAicAOQIz9aKInjjOvradxxHCVXTZAI"} 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":"f6e9fec05dd4b02c301c54a8e077e4d5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"},"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:52962","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.115789,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:45Z"} authorization-1 | {"client_addr":"127.0.0.1:39136","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162805,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNX0.ZGBi-Py36Y8PeAicAOQIz9aKInjjOvradxxHCVXTZAI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad532050-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:39136","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.87733,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162805,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNX0.ZGBi-Py36Y8PeAicAOQIz9aKInjjOvradxxHCVXTZAI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad536e70-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:43.880232905Z"}]},"request_id":"b15a52dd-dbec-4eaa-8c13-f1bb415b6a6b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162805.9821687} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad532050-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bedec-2620-4d24-a3a8-cbb3f3c166f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bedec-2620-4d24-a3a8-cbb3f3c166f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:43.925988318Z"}]},"request_id":"9f2f9e3b-c82c-4a13-b4e9-42756f75a0a4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162805.9828687} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad536e70-0d22-11ef-9118-35435c36490d"},"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/01d8aa94-7fed-4731-9b77-c8c63c8e1579? 200 13ms","method":"GET","requestID":"ad532050-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3? 200 12ms","method":"GET","requestID":"ad536e70-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"},"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/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.942238,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:46Z"} authorization-1 | {"client_addr":"127.0.0.1:39136","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162805,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNX0.ZGBi-Py36Y8PeAicAOQIz9aKInjjOvradxxHCVXTZAI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad5ae880-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:39136","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.833618,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162805,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNX0.ZGBi-Py36Y8PeAicAOQIz9aKInjjOvradxxHCVXTZAI"} 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":"ad5b0f90-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:46Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"137c062d-d602-4bb7-a83f-f7fdf4ea8298","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162806.0331013} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.238999,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","object_type":"device","rebac_allow":false,"scope_allow":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":"ad5b36a0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:43.880232905Z"}]},"request_id":"b74aab0e-5352-40f8-afdc-e2db395efc15","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162806.035289} 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":"ad5ae880-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bedec-2620-4d24-a3a8-cbb3f3c166f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bedec-2620-4d24-a3a8-cbb3f3c166f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:43.925988318Z"}]},"request_id":"0494f791-e0b7-4aba-b62e-1485128d6703","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162806.0379603} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad5b0f90-0d22-11ef-9118-35435c36490d"},"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/01d8aa94-7fed-4731-9b77-c8c63c8e1579/signaling 200 14ms","method":"POST","requestID":"ad5b36a0-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff10b329d-dedb-4a8c-aafa-6b48fd9298e9#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff10b329d-dedb-4a8c-aafa-6b48fd9298e9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"b0788882-4e20-4154-bb46-7d1da10518a6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162806.0435529} 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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"df90694d-bd76-4397-9258-ad53c29ab577","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162806.0438368} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} 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":"f6e9fec05dd4b02c301c54a8e077e4d5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} device-1 | {"level":"info","message":"GET /devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579? 200 23ms","method":"GET","requestID":"ad5ae880-0d22-11ef-9118-35435c36490d","responseTime":23,"status":200,"url":"/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:46Z"} device-1 | {"level":"info","message":"GET /devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3? 200 23ms","method":"GET","requestID":"ad5b0f90-0d22-11ef-9118-35435c36490d","responseTime":23,"status":200,"url":"/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bedec-2620-4d24-a3a8-cbb3f3c166f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba519c19-a9eb-4664-9401-5397ad77a9a8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162806.05006} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.001439,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:46Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","object_type":"device","rebac_allow":false,"scope_allow":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":"ad5dceb0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment-1 | {"data":{"experiment":"http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} gateway-1 | {"time_local":"08/May/2024:10:06:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.126","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f6e9fec05dd4b02c301c54a8e077e4d5"} experiment-1 | {"level":"info","message":"POST /experiments? 201 123ms","method":"POST","requestID":"f6e9fec05dd4b02c301c54a8e077e4d5","responseTime":123,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:46Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a3a3d2b-56c1-476a-bc5e-ca28c0bba816","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162806.0571678} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNn0.TVN17Jz2wO7X9R4UFKBTYh3lwU5VTXwlyXYwM-1dZk8","level":"info","message":"auth send jwt"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.671728,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:46Z"} device-1 | {"level":"info","message":"POST /devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3/signaling 200 16ms","method":"POST","requestID":"ad5dceb0-0d22-11ef-9118-35435c36490d","responseTime":16,"status":200,"url":"/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d1b2092b381c009efacea26bcd5cc254","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","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":"ad5f0730-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:46Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579/signaling 200 13ms","method":"POST","requestID":"ad5f0730-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.672248,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162806,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNn0.TVN17Jz2wO7X9R4UFKBTYh3lwU5VTXwlyXYwM-1dZk8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1b2092b381c009efacea26bcd5cc254"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:43.880232905Z"}]},"request_id":"af7c0492-69a4-4d8c-9012-8a32a4c655ff","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162806.0695937} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1b2092b381c009efacea26bcd5cc254"},"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:52962","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:46Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bedec-2620-4d24-a3a8-cbb3f3c166f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c89158b3-c5d4-4851-bcd4-c08b918ad99c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162806.0724537} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579? 200 14ms","method":"GET","requestID":"d1b2092b381c009efacea26bcd5cc254","responseTime":14,"status":200,"url":"/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579?"} gateway-1 | {"time_local":"08/May/2024:10:06:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d1b2092b381c009efacea26bcd5cc254"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.201583,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","object_type":"device","rebac_allow":false,"scope_allow":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":"ad619f40-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNn0.TVN17Jz2wO7X9R4UFKBTYh3lwU5VTXwlyXYwM-1dZk8","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2cc3de48ddf1be2737c5f7ce4d74edb3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3/signaling 200 11ms","method":"POST","requestID":"ad619f40-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"},"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":"3919e3a3-aec5-49db-aff4-bdf89ceaf20c"},{"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":"2c299f0a-3143-41b0-9236-07a110581b65"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5a4f4ddf-616c-479b-9576-6f1dddbe765c"}]},"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/01d8aa94-7fed-4731-9b77-c8c63c8e1579"},{"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/186bedec-2620-4d24-a3a8-cbb3f3c166f3"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:46Z"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.924088,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162806,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNn0.TVN17Jz2wO7X9R4UFKBTYh3lwU5VTXwlyXYwM-1dZk8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2cc3de48ddf1be2737c5f7ce4d74edb3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.912597,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162805,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwNX0.ZGBi-Py36Y8PeAicAOQIz9aKInjjOvradxxHCVXTZAI"} 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":"ad63c220-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bedec-2620-4d24-a3a8-cbb3f3c166f3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bedec-2620-4d24-a3a8-cbb3f3c166f3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:43.925988318Z"}]},"request_id":"fc0ec74b-948e-4636-ac0b-ae46cf60e3a0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162806.088303} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2cc3de48ddf1be2737c5f7ce4d74edb3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2cc3de48ddf1be2737c5f7ce4d74edb3"} device-1 | {"level":"info","message":"GET /devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3? 200 14ms","method":"GET","requestID":"2cc3de48ddf1be2737c5f7ce4d74edb3","responseTime":14,"status":200,"url":"/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"46b85906-de74-447a-9833-4bc5292c78f6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162806.0986414} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da3e282a-4c68-4c51-8286-a0d849255fd7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162806.0989707} 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":"ad63c220-0d22-11ef-9118-35435c36490d"},"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/30578b4d-97a9-4420-a091-4307af47efd3'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/30578b4d-97a9-4420-a091-4307af47efd3'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 33ms","method":"POST","requestID":"ad63c220-0d22-11ef-9118-35435c36490d","responseTime":33,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:46Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c8d48373-91e2-4131-943a-7aae7377ab48","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162806.1491532} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.019165,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad6d3800-0d22-11ef-9118-35435c36490d"},"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/01d8aa94-7fed-4731-9b77-c8c63c8e1579/signaling 200 9ms","method":"POST","requestID":"ad6d3800-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:46Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bedec-2620-4d24-a3a8-cbb3f3c166f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b4b73c0c-d42c-482a-a8d7-d91bd8d2fd70","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162806.1594849} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.541881,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad6ee5b0-0d22-11ef-9118-35435c36490d"},"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/186bedec-2620-4d24-a3a8-cbb3f3c166f3/signaling 200 10ms","method":"POST","requestID":"ad6ee5b0-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3/signaling"} device-1 | {"data":{"peerconnection":"30578b4d-97a9-4420-a091-4307af47efd3","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/30578b4d-97a9-4420-a091-4307af47efd3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"30578b4d-97a9-4420-a091-4307af47efd3","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":"3f281d197472ef74060061b63a5f36e1","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579"},{"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/186bedec-2620-4d24-a3a8-cbb3f3c166f3"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/30578b4d-97a9-4420-a091-4307af47efd3"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"3f281d197472ef74060061b63a5f36e1","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"3f281d197472ef74060061b63a5f36e1"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3'"} device-1 | {"data":{"peerconnection":"30578b4d-97a9-4420-a091-4307af47efd3","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwOH0.WCZmr9oSreWx0xaMjubEAvwj0503Nw-r79QXiU5QQCk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3c30a5f7aa8ad0ba97fb6bed4f1ef040","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.650168,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162808,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwOH0.WCZmr9oSreWx0xaMjubEAvwj0503Nw-r79QXiU5QQCk"} 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":"3c30a5f7aa8ad0ba97fb6bed4f1ef040"},"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/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"} gateway-1 | {"time_local":"08/May/2024:10:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9 HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3c30a5f7aa8ad0ba97fb6bed4f1ef040"} experiment-1 | {"level":"info","message":"GET /experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9 200 8ms","method":"GET","requestID":"3c30a5f7aa8ad0ba97fb6bed4f1ef040","responseTime":8,"status":200,"url":"/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"} device-1 | {"data":{"peerconnection":"30578b4d-97a9-4420-a091-4307af47efd3","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/30578b4d-97a9-4420-a091-4307af47efd3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"30578b4d-97a9-4420-a091-4307af47efd3","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":"94db78a97e863e6e7d19030e21524fc4","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/01d8aa94-7fed-4731-9b77-c8c63c8e1579"},{"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/186bedec-2620-4d24-a3a8-cbb3f3c166f3"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/30578b4d-97a9-4420-a091-4307af47efd3"}}},"level":"info","message":"received a callback"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwOH0.WCZmr9oSreWx0xaMjubEAvwj0503Nw-r79QXiU5QQCk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1a3d7fa3f4ea0cbc41e8bbf4442d11ac","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:48Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.680352,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162808,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwOH0.WCZmr9oSreWx0xaMjubEAvwj0503Nw-r79QXiU5QQCk"} 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":"1a3d7fa3f4ea0cbc41e8bbf4442d11ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F30578b4d-97a9-4420-a091-4307af47efd3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"855389bc-4639-4f82-ba8b-389cc9b9593f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162808.3961976} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.518779,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:48Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/30578b4d-97a9-4420-a091-4307af47efd3","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/30578b4d-97a9-4420-a091-4307af47efd3","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} gateway-1 | {"time_local":"08/May/2024:10:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9 HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1a3d7fa3f4ea0cbc41e8bbf4442d11ac"} experiment-1 | {"level":"info","message":"GET /experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9 200 10ms","method":"GET","requestID":"1a3d7fa3f4ea0cbc41e8bbf4442d11ac","responseTime":10,"status":200,"url":"/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"} 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":"aec41570-0d22-11ef-9118-35435c36490d"},"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/30578b4d-97a9-4420-a091-4307af47efd3 200 9ms","method":"GET","requestID":"aec41570-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/peerconnections/30578b4d-97a9-4420-a091-4307af47efd3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"94db78a97e863e6e7d19030e21524fc4","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"94db78a97e863e6e7d19030e21524fc4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19febf6a-c888-463a-aadc-9a91229d2475","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162808.4194586} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.025545,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aec7bef0-0d22-11ef-9118-35435c36490d"},"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/01d8aa94-7fed-4731-9b77-c8c63c8e1579/signaling 200 8ms","method":"POST","requestID":"aec7bef0-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bedec-2620-4d24-a3a8-cbb3f3c166f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e3ad803-02ad-40fd-8ace-08415f772c88","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162808.4299273} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.421701,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","object_type":"device","rebac_allow":false,"scope_allow":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":"aec94590-0d22-11ef-9118-35435c36490d"},"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/186bedec-2620-4d24-a3a8-cbb3f3c166f3/signaling 200 9ms","method":"POST","requestID":"aec94590-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwOH0.WCZmr9oSreWx0xaMjubEAvwj0503Nw-r79QXiU5QQCk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"578233caad5ab0a64d7e8f450f2b8ba3","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.693383,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162808,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwOH0.WCZmr9oSreWx0xaMjubEAvwj0503Nw-r79QXiU5QQCk"} 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":"578233caad5ab0a64d7e8f450f2b8ba3"},"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/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"} gateway-1 | {"time_local":"08/May/2024:10:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9 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":"578233caad5ab0a64d7e8f450f2b8ba3"} experiment-1 | {"level":"info","message":"GET /experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9 200 9ms","method":"GET","requestID":"578233caad5ab0a64d7e8f450f2b8ba3","responseTime":9,"status":200,"url":"/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwOH0.WCZmr9oSreWx0xaMjubEAvwj0503Nw-r79QXiU5QQCk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b12f2f6ce012332639bfc8ca5ff8ecfb","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.835379,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162808,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwOH0.WCZmr9oSreWx0xaMjubEAvwj0503Nw-r79QXiU5QQCk"} 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":"b12f2f6ce012332639bfc8ca5ff8ecfb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.677907,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/30578b4d-97a9-4420-a091-4307af47efd3","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/30578b4d-97a9-4420-a091-4307af47efd3","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162808,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwOH0.WCZmr9oSreWx0xaMjubEAvwj0503Nw-r79QXiU5QQCk"} 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":"aed887d0-0d22-11ef-9118-35435c36490d"},"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/30578b4d-97a9-4420-a091-4307af47efd3' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/30578b4d-97a9-4420-a091-4307af47efd3' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"30578b4d-97a9-4420-a091-4307af47efd3","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F30578b4d-97a9-4420-a091-4307af47efd3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F30578b4d-97a9-4420-a091-4307af47efd3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"b50f11d7-47d7-4c98-87db-bc223c96c108","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162808.539386} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39a83e86-9082-43db-ac32-18e4cee17636","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162808.5395374} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"51890cdd82f963c1d5f3f1d3dcf99fd9","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aed887d0-0d22-11ef-9118-35435c36490d"},"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-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579"},{"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/186bedec-2620-4d24-a3a8-cbb3f3c166f3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/30578b4d-97a9-4420-a091-4307af47efd3"}}},"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":"e028444b2459041f40f6f4b434144611","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579"},{"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/186bedec-2620-4d24-a3a8-cbb3f3c166f3"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/30578b4d-97a9-4420-a091-4307af47efd3"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"30578b4d-97a9-4420-a091-4307af47efd3","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/30578b4d-97a9-4420-a091-4307af47efd3 204 81ms","method":"DELETE","requestID":"aed887d0-0d22-11ef-9118-35435c36490d","responseTime":81,"status":204,"url":"/peerconnections/30578b4d-97a9-4420-a091-4307af47efd3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F01d8aa94-7fed-4731-9b77-c8c63c8e1579","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5ca13d92-6fe2-4024-b928-0edb30903a4d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162808.6267579} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.459399,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579","object_type":"device","rebac_allow":false,"scope_allow":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":"aee754e0-0d22-11ef-9118-35435c36490d"},"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/01d8aa94-7fed-4731-9b77-c8c63c8e1579/signaling 200 8ms","method":"POST","requestID":"aee754e0-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff10b329d-dedb-4a8c-aafa-6b48fd9298e9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ff10b329d-dedb-4a8c-aafa-6b48fd9298e9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"9ba69463-8d7d-4a63-9f57-7a65dcaa6194","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162808.6319227} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"539b149f-dd46-4bde-8ac5-939c63756c18","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162808.6322968} 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":"b12f2f6ce012332639bfc8ca5ff8ecfb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F186bedec-2620-4d24-a3a8-cbb3f3c166f3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"191afa9a-7e44-4638-bbf6-1312e2e9ce7d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162808.6375978} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.3736,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aee90290-0d22-11ef-9118-35435c36490d"},"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/186bedec-2620-4d24-a3a8-cbb3f3c166f3/signaling 200 8ms","method":"POST","requestID":"aee90290-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"} gateway-1 | {"time_local":"08/May/2024:10:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.171","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b12f2f6ce012332639bfc8ca5ff8ecfb"} gateway-1 | {"time_local":"08/May/2024:10:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3193","request_time":"4.190","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"dad7e182f2cbf9d0aadb65577222b928"} experiment-1 | {"level":"info","message":"DELETE /experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9 204 170ms","method":"DELETE","requestID":"b12f2f6ce012332639bfc8ca5ff8ecfb","responseTime":170,"status":204,"url":"/experiments/f10b329d-dedb-4a8c-aafa-6b48fd9298e9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 147ms","method":"POST","requestID":"51890cdd82f963c1d5f3f1d3dcf99fd9","responseTime":147,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch","requestID":"51890cdd82f963c1d5f3f1d3dcf99fd9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 146ms","method":"POST","requestID":"e028444b2459041f40f6f4b434144611","responseTime":146,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.150","http_referrer":"","http_user_agent":"node-fetch","requestID":"e028444b2459041f40f6f4b434144611"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwOH0.WCZmr9oSreWx0xaMjubEAvwj0503Nw-r79QXiU5QQCk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"88e5366fc2b13a0739f523d5f02da32e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.101862,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:48Z"} gateway-1 | {"time_local":"08/May/2024:10:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2702","request_time":"2.817","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"004475c4413d7ebb48b69be1eb5ddf69"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162808,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwOH0.WCZmr9oSreWx0xaMjubEAvwj0503Nw-r79QXiU5QQCk"} 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":"88e5366fc2b13a0739f523d5f02da32e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/01d8aa94-7fed-4731-9b77-c8c63c8e1579' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f9c17217-71b7-4b68-a4c8-3cefb51a36a3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162808.7118208} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"88e5366fc2b13a0739f523d5f02da32e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/186bedec-2620-4d24-a3a8-cbb3f3c166f3' 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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"75102208-6206-496e-96ea-433725dcc191","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162808.7167015} 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":"88e5366fc2b13a0739f523d5f02da32e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"3ac402cd-45ec-4583-839b-3f1e6986201e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162808.7261229} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b0bce3c3-be0f-4577-b8af-dcf7525106da","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162808.7262154} 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":"88e5366fc2b13a0739f523d5f02da32e"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:48.726091232Z"}]},"request_id":"c28d53e2-c67f-4874-aa84-5238d8084711","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162808.7304327} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"88e5366fc2b13a0739f523d5f02da32e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"88e5366fc2b13a0739f523d5f02da32e"} device-1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"88e5366fc2b13a0739f523d5f02da32e","responseTime":40,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwOH0.WCZmr9oSreWx0xaMjubEAvwj0503Nw-r79QXiU5QQCk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"47d068ee6f9151221dce02da9a2c2c92","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.87602,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162808,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwOH0.WCZmr9oSreWx0xaMjubEAvwj0503Nw-r79QXiU5QQCk"} 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":"47d068ee6f9151221dce02da9a2c2c92"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9713388-13a6-4c19-84a1-2ae664a5574b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c810e584-b30b-45dd-965d-32995731e5ad","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162808.7535818} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47d068ee6f9151221dce02da9a2c2c92"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"349c953b-67d3-4882-9e80-c14b660a769f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162808.7579503} 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":"47d068ee6f9151221dce02da9a2c2c92"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9713388-13a6-4c19-84a1-2ae664a5574b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"7a61fe6a-c8f3-4db7-9ae2-eb63f856b284","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162808.7676432} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3af72dbb-7370-484b-a933-7ca7b1e5d014","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162808.7678306} 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":"47d068ee6f9151221dce02da9a2c2c92"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9713388-13a6-4c19-84a1-2ae664a5574b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9713388-13a6-4c19-84a1-2ae664a5574b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:48.767615104Z"}]},"request_id":"aebf9259-f38e-40b5-b460-981b17d08a82","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162808.772179} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47d068ee6f9151221dce02da9a2c2c92"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"47d068ee6f9151221dce02da9a2c2c92"} device-1 | {"level":"info","message":"POST /devices? 201 37ms","method":"POST","requestID":"47d068ee6f9151221dce02da9a2c2c92","responseTime":37,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwOX0.i2r9jOBIXEhewq44YYirImp6eo23Z2QCFlT2sTa289A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"87972c44330eb96d20b77987cd525183","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.707485,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162809,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwOX0.i2r9jOBIXEhewq44YYirImp6eo23Z2QCFlT2sTa289A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87972c44330eb96d20b77987cd525183"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:48.726091232Z"}]},"request_id":"930e3408-1eb3-428b-9e20-6e7e479279f0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162809.304357} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87972c44330eb96d20b77987cd525183"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce82ce0b-93d7-4ef5-91d7-7d9bf649e8fa","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162809.3087816} 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":"87972c44330eb96d20b77987cd525183"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:48.726091232Z"}]},"request_id":"d243e478-2506-4011-a2f2-ef71fbf15052","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162809.3210645} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"87972c44330eb96d20b77987cd525183"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7b70fc53-4227-4e94-a35c-5ac3933507b4 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.031","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"87972c44330eb96d20b77987cd525183"} device-1 | {"level":"info","message":"PATCH /devices/7b70fc53-4227-4e94-a35c-5ac3933507b4 200 27ms","method":"PATCH","requestID":"87972c44330eb96d20b77987cd525183","responseTime":27,"status":200,"url":"/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwOX0.i2r9jOBIXEhewq44YYirImp6eo23Z2QCFlT2sTa289A","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"596fb56dd492ff857f4098f2990d490c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.726933,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162809,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgwOX0.i2r9jOBIXEhewq44YYirImp6eo23Z2QCFlT2sTa289A"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"596fb56dd492ff857f4098f2990d490c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7b70fc53-4227-4e94-a35c-5ac3933507b4/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"596fb56dd492ff857f4098f2990d490c"} device-1 | {"level":"info","message":"POST /devices/7b70fc53-4227-4e94-a35c-5ac3933507b4/websocket 200 20ms","method":"POST","requestID":"596fb56dd492ff857f4098f2990d490c","responseTime":20,"status":200,"url":"/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4' 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 0ms","method":"GET","requestID":"f3e3996752fd5474fc16303e2bed4043","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:06:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a9713388-13a6-4c19-84a1-2ae664a5574b/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":"f3e3996752fd5474fc16303e2bed4043"} device-1 | {"level":"info","message":"OPTIONS /devices/a9713388-13a6-4c19-84a1-2ae664a5574b/websocket 200 1ms","method":"OPTIONS","requestID":"f3e3996752fd5474fc16303e2bed4043","responseTime":1,"status":200,"url":"/devices/a9713388-13a6-4c19-84a1-2ae664a5574b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxMH0.AmHXFzI7BONrWigNdNDDKRXFoRQ9JnJsKxp9oetQ_zk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"29210b6625d05fd030561395fc52caae","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.726394,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162810,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxMH0.AmHXFzI7BONrWigNdNDDKRXFoRQ9JnJsKxp9oetQ_zk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"29210b6625d05fd030561395fc52caae"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a9713388-13a6-4c19-84a1-2ae664a5574b/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":"29210b6625d05fd030561395fc52caae"} device-1 | {"level":"info","message":"POST /devices/a9713388-13a6-4c19-84a1-2ae664a5574b/websocket 200 20ms","method":"POST","requestID":"29210b6625d05fd030561395fc52caae","responseTime":20,"status":200,"url":"/devices/a9713388-13a6-4c19-84a1-2ae664a5574b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxMH0.AmHXFzI7BONrWigNdNDDKRXFoRQ9JnJsKxp9oetQ_zk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4494f0c94a672abf29ffcafb13c6155c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.751058,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162810,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxMH0.AmHXFzI7BONrWigNdNDDKRXFoRQ9JnJsKxp9oetQ_zk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4494f0c94a672abf29ffcafb13c6155c"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:48.726091232Z"}]},"request_id":"282db0e6-768f-468c-9f4c-ff84df4296b0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162810.7769744} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4494f0c94a672abf29ffcafb13c6155c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7b70fc53-4227-4e94-a35c-5ac3933507b4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4494f0c94a672abf29ffcafb13c6155c"} device-1 | {"level":"info","message":"GET /devices/7b70fc53-4227-4e94-a35c-5ac3933507b4? 200 11ms","method":"GET","requestID":"4494f0c94a672abf29ffcafb13c6155c","responseTime":11,"status":200,"url":"/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxMH0.AmHXFzI7BONrWigNdNDDKRXFoRQ9JnJsKxp9oetQ_zk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b7956dc3d41e2754108ca0c1db14f410","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.690708,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162810,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxMH0.AmHXFzI7BONrWigNdNDDKRXFoRQ9JnJsKxp9oetQ_zk"} 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":"b7956dc3d41e2754108ca0c1db14f410"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9713388-13a6-4c19-84a1-2ae664a5574b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9713388-13a6-4c19-84a1-2ae664a5574b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:48.767615104Z"}]},"request_id":"43e5f12d-7cb6-4611-ab2d-178b3bcdf646","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162810.7912788} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b7956dc3d41e2754108ca0c1db14f410"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a9713388-13a6-4c19-84a1-2ae664a5574b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b7956dc3d41e2754108ca0c1db14f410"} device-1 | {"level":"info","message":"GET /devices/a9713388-13a6-4c19-84a1-2ae664a5574b? 200 10ms","method":"GET","requestID":"b7956dc3d41e2754108ca0c1db14f410","responseTime":10,"status":200,"url":"/devices/a9713388-13a6-4c19-84a1-2ae664a5574b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxMH0.AmHXFzI7BONrWigNdNDDKRXFoRQ9JnJsKxp9oetQ_zk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"60cba4b40c5d481f1a2ce4953366e0f7","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:52962","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.684308,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162810,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxMH0.AmHXFzI7BONrWigNdNDDKRXFoRQ9JnJsKxp9oetQ_zk"} 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":"60cba4b40c5d481f1a2ce4953366e0f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971"},"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:52962","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926723,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162810,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxMH0.AmHXFzI7BONrWigNdNDDKRXFoRQ9JnJsKxp9oetQ_zk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0377b90-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.987803,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162810,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxMH0.AmHXFzI7BONrWigNdNDDKRXFoRQ9JnJsKxp9oetQ_zk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b037a2a0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:48.726091232Z"}]},"request_id":"7405d992-f7e2-437d-af83-32c3356ad9f5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162810.8336835} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0377b90-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9713388-13a6-4c19-84a1-2ae664a5574b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9713388-13a6-4c19-84a1-2ae664a5574b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:48.767615104Z"}]},"request_id":"3ae88583-3932-4b3a-893f-47e4bcd27554","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162810.8342865} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b037a2a0-0d22-11ef-9118-35435c36490d"},"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/7b70fc53-4227-4e94-a35c-5ac3933507b4? 200 13ms","method":"GET","requestID":"b0377b90-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a9713388-13a6-4c19-84a1-2ae664a5574b? 200 12ms","method":"GET","requestID":"b037a2a0-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/a9713388-13a6-4c19-84a1-2ae664a5574b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971"},"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:52962","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:50Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.854209,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:50Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162810,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxMH0.AmHXFzI7BONrWigNdNDDKRXFoRQ9JnJsKxp9oetQ_zk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b03f6ad0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.608542,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162810,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxMH0.AmHXFzI7BONrWigNdNDDKRXFoRQ9JnJsKxp9oetQ_zk"} 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":"b03f91e0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2f4fee76-c999-4970-8a24-fd9d2aa72f2a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162810.887468} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.073935,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","object_type":"device","rebac_allow":false,"scope_allow":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":"b0400710-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:48.726091232Z"}]},"request_id":"cffe60a1-1ba0-4229-8e30-7a62ae69fcbb","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162810.8903062} 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":"b03f6ad0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9713388-13a6-4c19-84a1-2ae664a5574b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9713388-13a6-4c19-84a1-2ae664a5574b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:48.767615104Z"}]},"request_id":"64e13b30-17fd-4cea-8eb9-177771184b44","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162810.8933165} device-1 | {"level":"info","message":"POST /devices/7b70fc53-4227-4e94-a35c-5ac3933507b4/signaling 200 13ms","method":"POST","requestID":"b0400710-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4/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":"b03f91e0-0d22-11ef-9118-35435c36490d"},"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":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F01a153b1-de18-4f37-93f6-f49f3f424971#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F01a153b1-de18-4f37-93f6-f49f3f424971","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"4cedb095-de86-4993-8f80-84b2444a9224","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162810.8976305} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c6514c7d-ac4b-41c0-832f-6acfb969bca2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162810.8977704} 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":"60cba4b40c5d481f1a2ce4953366e0f7"},"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/7b70fc53-4227-4e94-a35c-5ac3933507b4? 200 24ms","method":"GET","requestID":"b03f6ad0-0d22-11ef-9118-35435c36490d","responseTime":24,"status":200,"url":"/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4?"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:50Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/a9713388-13a6-4c19-84a1-2ae664a5574b? 200 24ms","method":"GET","requestID":"b03f91e0-0d22-11ef-9118-35435c36490d","responseTime":24,"status":200,"url":"/devices/a9713388-13a6-4c19-84a1-2ae664a5574b?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9713388-13a6-4c19-84a1-2ae664a5574b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"449799cd-1098-4839-9b03-426e684fc996","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162810.9031773} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.81925,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0427810-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:50Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/a9713388-13a6-4c19-84a1-2ae664a5574b/signaling 200 11ms","method":"POST","requestID":"b0427810-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/a9713388-13a6-4c19-84a1-2ae664a5574b/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 110ms","method":"POST","requestID":"60cba4b40c5d481f1a2ce4953366e0f7","responseTime":110,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"08/May/2024:10:06: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.114","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"60cba4b40c5d481f1a2ce4953366e0f7"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f22c32cd-5868-4ed2-b22c-ddc4d65264d6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162810.9096282} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.525781,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","object_type":"device","rebac_allow":false,"scope_allow":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":"b043b090-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxMH0.AmHXFzI7BONrWigNdNDDKRXFoRQ9JnJsKxp9oetQ_zk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"45f0fcff50fc9c81ef19988f25f94224","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/7b70fc53-4227-4e94-a35c-5ac3933507b4/signaling 200 10ms","method":"POST","requestID":"b043b090-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672267,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162810,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxMH0.AmHXFzI7BONrWigNdNDDKRXFoRQ9JnJsKxp9oetQ_zk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45f0fcff50fc9c81ef19988f25f94224"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9713388-13a6-4c19-84a1-2ae664a5574b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3952e367-b61e-4531-afa8-40e1fa48baff","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162810.920983} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.342671,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0458550-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:48.726091232Z"}]},"request_id":"09c0ee6b-95aa-4a44-a0e2-e8bcb27751da","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162810.9231248} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45f0fcff50fc9c81ef19988f25f94224"},"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/a9713388-13a6-4c19-84a1-2ae664a5574b/signaling 200 10ms","method":"POST","requestID":"b0458550-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/a9713388-13a6-4c19-84a1-2ae664a5574b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7b70fc53-4227-4e94-a35c-5ac3933507b4? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45f0fcff50fc9c81ef19988f25f94224"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971"},"level":"info","message":"Attempting to create peerconnections for experiment"} device-1 | {"level":"info","message":"GET /devices/7b70fc53-4227-4e94-a35c-5ac3933507b4? 200 13ms","method":"GET","requestID":"45f0fcff50fc9c81ef19988f25f94224","responseTime":13,"status":200,"url":"/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971"},"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":"aabb87a0-8eba-4475-a39f-5caa85788457"},{"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":"c164b88d-5fd7-45b3-a1b2-cc848c6d8d73"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"57d753f5-a925-44c9-9897-50eb346b5201"}]},"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/7b70fc53-4227-4e94-a35c-5ac3933507b4"},{"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/a9713388-13a6-4c19-84a1-2ae664a5574b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxMH0.AmHXFzI7BONrWigNdNDDKRXFoRQ9JnJsKxp9oetQ_zk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d540595e663094652fe4322847f17344","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:50Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.149991,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162810,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxMH0.AmHXFzI7BONrWigNdNDDKRXFoRQ9JnJsKxp9oetQ_zk"} 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":"b0478120-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.691598,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162810,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxMH0.AmHXFzI7BONrWigNdNDDKRXFoRQ9JnJsKxp9oetQ_zk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d540595e663094652fe4322847f17344"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"9509202d-a042-48ab-b828-5ee807a2cc38","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162810.9412022} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ccaa379e-330f-4553-a5da-3fd52bf48253","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162810.9413664} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9713388-13a6-4c19-84a1-2ae664a5574b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9713388-13a6-4c19-84a1-2ae664a5574b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:48.767615104Z"}]},"request_id":"a79f242d-4e6c-4efb-af63-2c5631a42fe6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162810.9420748} 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":"b0478120-0d22-11ef-9118-35435c36490d"},"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 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":"d540595e663094652fe4322847f17344"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"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/2c760b26-4526-4e39-a352-80ef7660a6c2'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/2c760b26-4526-4e39-a352-80ef7660a6c2'"} 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":"b0478120-0d22-11ef-9118-35435c36490d","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":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a9713388-13a6-4c19-84a1-2ae664a5574b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d540595e663094652fe4322847f17344"} device-1 | {"level":"info","message":"GET /devices/a9713388-13a6-4c19-84a1-2ae664a5574b? 200 41ms","method":"GET","requestID":"d540595e663094652fe4322847f17344","responseTime":41,"status":200,"url":"/devices/a9713388-13a6-4c19-84a1-2ae664a5574b?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:51Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38442add-068e-411e-ae50-694ef02fe256","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162811.0049975} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.482521,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","object_type":"device","rebac_allow":false,"scope_allow":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":"b0522f80-0d22-11ef-9118-35435c36490d"},"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/7b70fc53-4227-4e94-a35c-5ac3933507b4/signaling 200 9ms","method":"POST","requestID":"b0522f80-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:51Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9713388-13a6-4c19-84a1-2ae664a5574b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"07dfc72b-6fd1-4c20-a818-5fe20c6f8355","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162811.015201} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.495906,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:51Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b053dd30-0d22-11ef-9118-35435c36490d"},"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/a9713388-13a6-4c19-84a1-2ae664a5574b/signaling 200 8ms","method":"POST","requestID":"b053dd30-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/a9713388-13a6-4c19-84a1-2ae664a5574b/signaling"} device-1 | {"data":{"peerconnection":"2c760b26-4526-4e39-a352-80ef7660a6c2","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/2c760b26-4526-4e39-a352-80ef7660a6c2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2c760b26-4526-4e39-a352-80ef7660a6c2","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":"8bde9557d1d4ec7d19d6c48799a14a67","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/7b70fc53-4227-4e94-a35c-5ac3933507b4"},{"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/a9713388-13a6-4c19-84a1-2ae664a5574b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/2c760b26-4526-4e39-a352-80ef7660a6c2"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"8bde9557d1d4ec7d19d6c48799a14a67","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"8bde9557d1d4ec7d19d6c48799a14a67"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b'"} device-1 | {"data":{"peerconnection":"2c760b26-4526-4e39-a352-80ef7660a6c2","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/a9713388-13a6-4c19-84a1-2ae664a5574b'"} device-1 | {"data":{"peerconnection":"2c760b26-4526-4e39-a352-80ef7660a6c2","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/2c760b26-4526-4e39-a352-80ef7660a6c2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2c760b26-4526-4e39-a352-80ef7660a6c2","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":"89875ea47e760bde4c44120fc1e78390","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/7b70fc53-4227-4e94-a35c-5ac3933507b4"},{"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/a9713388-13a6-4c19-84a1-2ae664a5574b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/2c760b26-4526-4e39-a352-80ef7660a6c2"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2c760b26-4526-4e39-a352-80ef7660a6c2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d2c5eeb-4517-4d7d-9db8-5789d515fb75","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.1224632} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.745636,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2c760b26-4526-4e39-a352-80ef7660a6c2","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/2c760b26-4526-4e39-a352-80ef7660a6c2","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":"b1955de0-0d22-11ef-9118-35435c36490d"},"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/2c760b26-4526-4e39-a352-80ef7660a6c2 200 8ms","method":"GET","requestID":"b1955de0-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/peerconnections/2c760b26-4526-4e39-a352-80ef7660a6c2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"89875ea47e760bde4c44120fc1e78390","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"89875ea47e760bde4c44120fc1e78390"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e4ee79ac-df0a-4f83-84b5-a8721a9b9c89","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.1472952} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.175504,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b1992e70-0d22-11ef-9118-35435c36490d"},"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/7b70fc53-4227-4e94-a35c-5ac3933507b4/signaling 200 8ms","method":"POST","requestID":"b1992e70-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9713388-13a6-4c19-84a1-2ae664a5574b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b7ab1f8-04e8-491c-b404-927142d5bc36","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.1574674} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.237683,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b19ab510-0d22-11ef-9118-35435c36490d"},"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/a9713388-13a6-4c19-84a1-2ae664a5574b/signaling 200 8ms","method":"POST","requestID":"b19ab510-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/a9713388-13a6-4c19-84a1-2ae664a5574b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxM30.HWZ0LgYuvsXLa9QW8VC2T6guZF69Ey-o1bbNN7xqA_0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"713361f363523faac52d62fd0dfd30d6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/01a153b1-de18-4f37-93f6-f49f3f424971"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.642162,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162813,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxM30.HWZ0LgYuvsXLa9QW8VC2T6guZF69Ey-o1bbNN7xqA_0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"713361f363523faac52d62fd0dfd30d6"},"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/01a153b1-de18-4f37-93f6-f49f3f424971"} gateway-1 | {"time_local":"08/May/2024:10:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/01a153b1-de18-4f37-93f6-f49f3f424971 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"713361f363523faac52d62fd0dfd30d6"} experiment-1 | {"level":"info","message":"GET /experiments/01a153b1-de18-4f37-93f6-f49f3f424971 200 9ms","method":"GET","requestID":"713361f363523faac52d62fd0dfd30d6","responseTime":9,"status":200,"url":"/experiments/01a153b1-de18-4f37-93f6-f49f3f424971"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxM30.HWZ0LgYuvsXLa9QW8VC2T6guZF69Ey-o1bbNN7xqA_0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"63d307105e99097f4d653055d839c3ca","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/01a153b1-de18-4f37-93f6-f49f3f424971"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.670656,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162813,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxM30.HWZ0LgYuvsXLa9QW8VC2T6guZF69Ey-o1bbNN7xqA_0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63d307105e99097f4d653055d839c3ca"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.6712,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2c760b26-4526-4e39-a352-80ef7660a6c2","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/2c760b26-4526-4e39-a352-80ef7660a6c2","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162813,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxM30.HWZ0LgYuvsXLa9QW8VC2T6guZF69Ey-o1bbNN7xqA_0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"b1a51550-0d22-11ef-9118-35435c36490d"},"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/2c760b26-4526-4e39-a352-80ef7660a6c2' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/2c760b26-4526-4e39-a352-80ef7660a6c2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2c760b26-4526-4e39-a352-80ef7660a6c2","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2c760b26-4526-4e39-a352-80ef7660a6c2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2c760b26-4526-4e39-a352-80ef7660a6c2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"f04a297c-8612-425b-8aad-6e05da5acb85","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.2353754} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"24324f23d23743cae0061593d595a7cc","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2bd2cedb-a0bc-4659-a096-fcfef3ccb9e4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.235731} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"b1a51550-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4"},{"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/a9713388-13a6-4c19-84a1-2ae664a5574b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2c760b26-4526-4e39-a352-80ef7660a6c2"}}},"level":"info","message":"received a callback"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"e96fd0e3b2e616bf0f4180dd3b9169bc","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4"},{"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/a9713388-13a6-4c19-84a1-2ae664a5574b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2c760b26-4526-4e39-a352-80ef7660a6c2"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"2c760b26-4526-4e39-a352-80ef7660a6c2","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/2c760b26-4526-4e39-a352-80ef7660a6c2 204 49ms","method":"DELETE","requestID":"b1a51550-0d22-11ef-9118-35435c36490d","responseTime":49,"status":204,"url":"/peerconnections/2c760b26-4526-4e39-a352-80ef7660a6c2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/01a153b1-de18-4f37-93f6-f49f3f424971"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b70fc53-4227-4e94-a35c-5ac3933507b4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e68597cf-9696-4386-b43f-10ce05ee7b21","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.29108} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.188106,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4","object_type":"device","rebac_allow":false,"scope_allow":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":"b1af2770-0d22-11ef-9118-35435c36490d"},"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/7b70fc53-4227-4e94-a35c-5ac3933507b4/signaling 200 8ms","method":"POST","requestID":"b1af2770-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/7b70fc53-4227-4e94-a35c-5ac3933507b4/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F01a153b1-de18-4f37-93f6-f49f3f424971': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F01a153b1-de18-4f37-93f6-f49f3f424971","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"62e2f129-ff06-405c-8451-b2cd45f7c3f5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.298101} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0f9bc83a-3a31-4604-84d2-0d334b87869b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.2983136} 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":"63d307105e99097f4d653055d839c3ca"},"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:52962","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9713388-13a6-4c19-84a1-2ae664a5574b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"262c5584-b808-4207-bb23-2b5f48afac1e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.3012362} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.327435,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a9713388-13a6-4c19-84a1-2ae664a5574b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b1b0ae10-0d22-11ef-9118-35435c36490d"},"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/a9713388-13a6-4c19-84a1-2ae664a5574b/signaling 200 8ms","method":"POST","requestID":"b1b0ae10-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/a9713388-13a6-4c19-84a1-2ae664a5574b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/01a153b1-de18-4f37-93f6-f49f3f424971"} gateway-1 | {"time_local":"08/May/2024:10:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/01a153b1-de18-4f37-93f6-f49f3f424971 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":"63d307105e99097f4d653055d839c3ca"} experiment-1 | {"level":"info","message":"DELETE /experiments/01a153b1-de18-4f37-93f6-f49f3f424971 204 139ms","method":"DELETE","requestID":"63d307105e99097f4d653055d839c3ca","responseTime":139,"status":204,"url":"/experiments/01a153b1-de18-4f37-93f6-f49f3f424971"} gateway-1 | {"time_local":"08/May/2024:10:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"3192","request_time":"4.001","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"f0245711d226e64f205ee1694c443945"} gateway-1 | {"time_local":"08/May/2024:10:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.119","http_referrer":"","http_user_agent":"node-fetch","requestID":"24324f23d23743cae0061593d595a7cc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 116ms","method":"POST","requestID":"24324f23d23743cae0061593d595a7cc","responseTime":116,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 116ms","method":"POST","requestID":"e96fd0e3b2e616bf0f4180dd3b9169bc","responseTime":116,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.121","http_referrer":"","http_user_agent":"node-fetch","requestID":"e96fd0e3b2e616bf0f4180dd3b9169bc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxM30.HWZ0LgYuvsXLa9QW8VC2T6guZF69Ey-o1bbNN7xqA_0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"81bd50486bc1d4c754bbe488210e3cb0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:53Z"} gateway-1 | {"time_local":"08/May/2024:10:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2702","request_time":"2.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":"e63732ef922e7316c3d86977e2da23d7"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.150628,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162813,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxM30.HWZ0LgYuvsXLa9QW8VC2T6guZF69Ey-o1bbNN7xqA_0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81bd50486bc1d4c754bbe488210e3cb0"},"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/7b70fc53-4227-4e94-a35c-5ac3933507b4' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"abdd2288-25f9-4869-a305-5630e72a0681","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.3782377} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81bd50486bc1d4c754bbe488210e3cb0"},"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/a9713388-13a6-4c19-84a1-2ae664a5574b' 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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9a611ba-b17c-4aae-80ff-2705aa26d1e3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.3839884} 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":"81bd50486bc1d4c754bbe488210e3cb0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"3595f44d-5798-4ce7-8a14-9ad5e21caf9a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.3935082} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"86898294-2c6b-4017-b702-357b0c739f22","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.3936043} 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":"81bd50486bc1d4c754bbe488210e3cb0"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:53.393477594Z"}]},"request_id":"17e8842a-3517-418e-b73c-66f1a162f170","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.3982453} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81bd50486bc1d4c754bbe488210e3cb0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81bd50486bc1d4c754bbe488210e3cb0"} device-1 | {"level":"info","message":"POST /devices? 201 43ms","method":"POST","requestID":"81bd50486bc1d4c754bbe488210e3cb0","responseTime":43,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxM30.HWZ0LgYuvsXLa9QW8VC2T6guZF69Ey-o1bbNN7xqA_0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3e6927703abb44f5007a34cd8ffe5469","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.809097,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162813,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxM30.HWZ0LgYuvsXLa9QW8VC2T6guZF69Ey-o1bbNN7xqA_0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e6927703abb44f5007a34cd8ffe5469"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d4ebd0de-9b27-406e-9498-f1c1d7c1a450","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.4224703} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e6927703abb44f5007a34cd8ffe5469"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1eed1783-d273-47d0-a4bd-cddee91a5d71","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.427323} 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":"3e6927703abb44f5007a34cd8ffe5469"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"a6aa41a9-8890-4cc3-a3bd-5353bc084106","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.4380107} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"21eb970b-546f-4efc-a6b9-6c746f37c0f1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.438313} 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":"3e6927703abb44f5007a34cd8ffe5469"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:53.437975151Z"}]},"request_id":"21738837-2b3d-4881-bb66-800ed59831dd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.442486} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e6927703abb44f5007a34cd8ffe5469"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3e6927703abb44f5007a34cd8ffe5469"} device-1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"3e6927703abb44f5007a34cd8ffe5469","responseTime":39,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxM30.HWZ0LgYuvsXLa9QW8VC2T6guZF69Ey-o1bbNN7xqA_0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c7e81d589e369d133594691c192de9ba","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.488195,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162813,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxM30.HWZ0LgYuvsXLa9QW8VC2T6guZF69Ey-o1bbNN7xqA_0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7e81d589e369d133594691c192de9ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:53.437975151Z"}]},"request_id":"c92c0fdd-9ca8-4bad-ac93-1a5270820781","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.9688218} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7e81d589e369d133594691c192de9ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxM30.HWZ0LgYuvsXLa9QW8VC2T6guZF69Ey-o1bbNN7xqA_0","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b77f509a7ed5e302c0a397c617098b7a","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"72a2b90a-4cb8-4399-b742-a1fd2e43ff91","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.9740212} 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":"c7e81d589e369d133594691c192de9ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.871217,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162813,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxM30.HWZ0LgYuvsXLa9QW8VC2T6guZF69Ey-o1bbNN7xqA_0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b77f509a7ed5e302c0a397c617098b7a"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:53.437975151Z"}]},"request_id":"a91b8573-150f-4eb0-a88f-e56fcd37742d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162813.9990027} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7e81d589e369d133594691c192de9ba"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:53.393477594Z"}]},"request_id":"75cc1774-cc52-4a65-bfdb-eb4c893f3431","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.000398} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b77f509a7ed5e302c0a397c617098b7a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} gateway-1 | {"time_local":"08/May/2024:10:06:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"c7e81d589e369d133594691c192de9ba"} device-1 | {"level":"info","message":"PATCH /devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a 200 43ms","method":"PATCH","requestID":"c7e81d589e369d133594691c192de9ba","responseTime":43,"status":200,"url":"/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNH0.rKAP3Uws8l509aE1P-Z1gLc5wecAVU2iWHahv1y-048","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6af4cbcbf426edcacfcc4343797e2d12","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bcfbfda2-11e0-42fa-b007-c7b4d9b24d2f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.0069017} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b77f509a7ed5e302c0a397c617098b7a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.627916,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162814,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNH0.rKAP3Uws8l509aE1P-Z1gLc5wecAVU2iWHahv1y-048"} 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":"6af4cbcbf426edcacfcc4343797e2d12"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:53.393477594Z"}]},"request_id":"730d5b78-a7dd-4877-9d33-bde1ffe5cdf6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.0208583} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b77f509a7ed5e302c0a397c617098b7a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"b77f509a7ed5e302c0a397c617098b7a"} device-1 | {"level":"info","message":"PATCH /devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a 200 47ms","method":"PATCH","requestID":"b77f509a7ed5e302c0a397c617098b7a","responseTime":47,"status":200,"url":"/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNH0.rKAP3Uws8l509aE1P-Z1gLc5wecAVU2iWHahv1y-048","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a4159b80abec2b8f308dc8b8efc9dfb7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a/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":"6af4cbcbf426edcacfcc4343797e2d12"} device-1 | {"level":"info","message":"POST /devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a/websocket 200 21ms","method":"POST","requestID":"6af4cbcbf426edcacfcc4343797e2d12","responseTime":21,"status":200,"url":"/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a/websocket"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.641663,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162814,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNH0.rKAP3Uws8l509aE1P-Z1gLc5wecAVU2iWHahv1y-048"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4159b80abec2b8f308dc8b8efc9dfb7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device-1 | {"level":"info","message":"POST /devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a/websocket 200 9ms","method":"POST","requestID":"a4159b80abec2b8f308dc8b8efc9dfb7","responseTime":9,"status":200,"url":"/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a/websocket"} gateway-1 | {"time_local":"08/May/2024:10:06:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.012","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"a4159b80abec2b8f308dc8b8efc9dfb7"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNH0.rKAP3Uws8l509aE1P-Z1gLc5wecAVU2iWHahv1y-048","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8f9a17f3e7772521a4c9aea976deeee3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.935222,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162814,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNH0.rKAP3Uws8l509aE1P-Z1gLc5wecAVU2iWHahv1y-048"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f9a17f3e7772521a4c9aea976deeee3"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:53.393477594Z"}]},"request_id":"804d9591-e231-4dbd-981a-126550a8be74","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.0605576} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f9a17f3e7772521a4c9aea976deeee3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8f9a17f3e7772521a4c9aea976deeee3"} device-1 | {"level":"info","message":"GET /devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a? 200 10ms","method":"GET","requestID":"8f9a17f3e7772521a4c9aea976deeee3","responseTime":10,"status":200,"url":"/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNH0.rKAP3Uws8l509aE1P-Z1gLc5wecAVU2iWHahv1y-048","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7027f2315c4d28024ca28b9cf24923d7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.707236,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162814,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNH0.rKAP3Uws8l509aE1P-Z1gLc5wecAVU2iWHahv1y-048"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7027f2315c4d28024ca28b9cf24923d7"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:53.437975151Z"}]},"request_id":"2e2b7f3c-0c0f-4a99-a282-77cea677ba1f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.0754187} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7027f2315c4d28024ca28b9cf24923d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7027f2315c4d28024ca28b9cf24923d7"} device-1 | {"level":"info","message":"GET /devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a? 200 11ms","method":"GET","requestID":"7027f2315c4d28024ca28b9cf24923d7","responseTime":11,"status":200,"url":"/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNH0.rKAP3Uws8l509aE1P-Z1gLc5wecAVU2iWHahv1y-048","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0ea8e567b5d8f6d44b7db233ae5890a0","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.655603,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162814,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNH0.rKAP3Uws8l509aE1P-Z1gLc5wecAVU2iWHahv1y-048"} 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":"0ea8e567b5d8f6d44b7db233ae5890a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"},"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:52962","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.680843,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162814,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNH0.rKAP3Uws8l509aE1P-Z1gLc5wecAVU2iWHahv1y-048"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b22d0a00-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74466,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162814,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNH0.rKAP3Uws8l509aE1P-Z1gLc5wecAVU2iWHahv1y-048"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b22d3110-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:53.393477594Z"}]},"request_id":"03fed799-d7f1-47bb-b6e6-24c53029f847","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.1197364} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b22d0a00-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:53.437975151Z"}]},"request_id":"6440ec11-537d-4eb1-9879-64c704acce93","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.1202955} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b22d3110-0d22-11ef-9118-35435c36490d"},"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/f7acfd16-3421-4454-8fbf-cb7f02ee059a? 200 11ms","method":"GET","requestID":"b22d0a00-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a? 200 11ms","method":"GET","requestID":"b22d3110-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"},"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/77f123b3-c2ab-45d9-a658-e4c0e785f45a"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.638522,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162814,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNH0.rKAP3Uws8l509aE1P-Z1gLc5wecAVU2iWHahv1y-048"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2340ee0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.223727,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162814,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNH0.rKAP3Uws8l509aE1P-Z1gLc5wecAVU2iWHahv1y-048"} 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":"b2345d00-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:55698","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:53.393477594Z"}]},"request_id":"650aecf1-276d-4106-8e22-dcbfc46043b3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.1714218} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2340ee0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:53.437975151Z"}]},"request_id":"fd693cc4-8e23-4b02-899a-2399ab5bba79","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.1725845} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0bb4d200-c307-4960-8ea5-8e70e4e6009a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.1733608} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2345d00-0d22-11ef-9118-35435c36490d"},"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:55698","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.128648,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","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 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2348410-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F77f123b3-c2ab-45d9-a658-e4c0e785f45a#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F77f123b3-c2ab-45d9-a658-e4c0e785f45a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"ec5fc00e-4af2-4f2d-9bbc-87d1a86ba82d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.1762314} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f9b47b7e-d57b-4cb8-95df-ceeb96049eb5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.176588} device-1 | {"level":"info","message":"GET /devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a? 200 19ms","method":"GET","requestID":"b2340ee0-0d22-11ef-9118-35435c36490d","responseTime":19,"status":200,"url":"/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a? 200 18ms","method":"GET","requestID":"b2345d00-0d22-11ef-9118-35435c36490d","responseTime":18,"status":200,"url":"/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a?"} 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":"0ea8e567b5d8f6d44b7db233ae5890a0"},"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/f7acfd16-3421-4454-8fbf-cb7f02ee059a/signaling 200 21ms","method":"POST","requestID":"b2348410-0d22-11ef-9118-35435c36490d","responseTime":21,"status":200,"url":"/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d483f3de-3ba6-47a2-bd51-7bf71196e312","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.1853392} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.753222,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:54Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2376a40-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway-1 | {"time_local":"08/May/2024:10:06:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.108","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0ea8e567b5d8f6d44b7db233ae5890a0"} experiment-1 | {"level":"info","message":"POST /experiments? 201 104ms","method":"POST","requestID":"0ea8e567b5d8f6d44b7db233ae5890a0","responseTime":104,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:54Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a/signaling 200 10ms","method":"POST","requestID":"b2376a40-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e204102d-9ed0-4208-b12c-0438402e51fe","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.1918943} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.428281,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:54Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNH0.rKAP3Uws8l509aE1P-Z1gLc5wecAVU2iWHahv1y-048","level":"info","message":"auth send jwt"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"df021669e357891e68aac8b0e64de61f","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b23854a0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:54Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f46b3bd-e04b-460c-9155-291251d75599","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.1971898} device-1 | {"level":"info","message":"POST /devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a/signaling 200 11ms","method":"POST","requestID":"b23854a0-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.615501,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2393f00-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.109838,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162814,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNH0.rKAP3Uws8l509aE1P-Z1gLc5wecAVU2iWHahv1y-048"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"df021669e357891e68aac8b0e64de61f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:53.393477594Z"}]},"request_id":"1862161b-3257-460c-8062-eea1971e1f7b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.2032576} device-1 | {"level":"info","message":"POST /devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a/signaling 200 11ms","method":"POST","requestID":"b2393f00-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"},"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":"e8788f1a-1e60-4e1e-a85d-a50031a347c7"},{"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":"aeac885e-ade4-47ac-a2ff-3c53e1f41e70"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1b103d4d-7852-42b6-8e0e-6c0d95aba182"}]},"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":"df021669e357891e68aac8b0e64de61f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","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/f7acfd16-3421-4454-8fbf-cb7f02ee059a"},{"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/2d7bd3f6-06fa-4026-9897-91fd7ef0417a"}],"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:52962","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:54Z"} device-1 | {"level":"info","message":"GET /devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a? 200 15ms","method":"GET","requestID":"df021669e357891e68aac8b0e64de61f","responseTime":15,"status":200,"url":"/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a?"} gateway-1 | {"time_local":"08/May/2024:10:06:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"df021669e357891e68aac8b0e64de61f"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.877442,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162814,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNH0.rKAP3Uws8l509aE1P-Z1gLc5wecAVU2iWHahv1y-048"} 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":"b23b88f0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNH0.rKAP3Uws8l509aE1P-Z1gLc5wecAVU2iWHahv1y-048","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0f5d42a2d9b8236f5da2bd6d8b59effb","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673158,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162814,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNH0.rKAP3Uws8l509aE1P-Z1gLc5wecAVU2iWHahv1y-048"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f5d42a2d9b8236f5da2bd6d8b59effb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"fff97c98-adc8-4497-9452-54021dee5740","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.220164} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fee0d1b6-1a5f-4e11-8722-77d722ac8e92","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.220323} 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":"b23b88f0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:53.437975151Z"}]},"request_id":"c5fe9e96-dd85-41b0-aa40-659c55c1adc2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.225104} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0f5d42a2d9b8236f5da2bd6d8b59effb"},"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/27b656cd-337c-4ce3-a8e4-19d63c7d2164'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/27b656cd-337c-4ce3-a8e4-19d63c7d2164'"} 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":"b23b88f0-0d22-11ef-9118-35435c36490d","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":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0f5d42a2d9b8236f5da2bd6d8b59effb"} device-1 | {"level":"info","message":"GET /devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a? 200 33ms","method":"GET","requestID":"0f5d42a2d9b8236f5da2bd6d8b59effb","responseTime":33,"status":200,"url":"/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b0d59fd6-b889-429a-9f1b-bd6d5278bf92","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.2809696} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.167864,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","object_type":"device","rebac_allow":false,"scope_allow":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":"b2463750-0d22-11ef-9118-35435c36490d"},"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/f7acfd16-3421-4454-8fbf-cb7f02ee059a/signaling 200 7ms","method":"POST","requestID":"b2463750-0d22-11ef-9118-35435c36490d","responseTime":7,"status":200,"url":"/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1120fde4-d80e-42ff-80cb-4966afb8be6f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162814.289992} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.099007,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:54Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","object_type":"device","rebac_allow":false,"scope_allow":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":"b24796e0-0d22-11ef-9118-35435c36490d"},"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/2d7bd3f6-06fa-4026-9897-91fd7ef0417a/signaling 200 7ms","method":"POST","requestID":"b24796e0-0d22-11ef-9118-35435c36490d","responseTime":7,"status":200,"url":"/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a/signaling"} device-1 | {"data":{"peerconnection":"27b656cd-337c-4ce3-a8e4-19d63c7d2164","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"27b656cd-337c-4ce3-a8e4-19d63c7d2164","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/27b656cd-337c-4ce3-a8e4-19d63c7d2164' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"27b656cd-337c-4ce3-a8e4-19d63c7d2164","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":"f7d19c7a9f5b92e1adcd52fa2a40f7f3","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/f7acfd16-3421-4454-8fbf-cb7f02ee059a"},{"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/2d7bd3f6-06fa-4026-9897-91fd7ef0417a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/27b656cd-337c-4ce3-a8e4-19d63c7d2164"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"f7d19c7a9f5b92e1adcd52fa2a40f7f3","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"f7d19c7a9f5b92e1adcd52fa2a40f7f3"} device-1 | {"data":{"peerconnection":"27b656cd-337c-4ce3-a8e4-19d63c7d2164","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"27b656cd-337c-4ce3-a8e4-19d63c7d2164","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/27b656cd-337c-4ce3-a8e4-19d63c7d2164' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"27b656cd-337c-4ce3-a8e4-19d63c7d2164","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":"174e784d952efe4314fd4fdef43942cd","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/f7acfd16-3421-4454-8fbf-cb7f02ee059a"},{"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/2d7bd3f6-06fa-4026-9897-91fd7ef0417a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/27b656cd-337c-4ce3-a8e4-19d63c7d2164"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F27b656cd-337c-4ce3-a8e4-19d63c7d2164","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"45426d55-3e15-47ae-947f-46b67013c73e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162816.3588529} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.591679,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/27b656cd-337c-4ce3-a8e4-19d63c7d2164","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/27b656cd-337c-4ce3-a8e4-19d63c7d2164","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":"b3832420-0d22-11ef-9118-35435c36490d"},"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/27b656cd-337c-4ce3-a8e4-19d63c7d2164 200 8ms","method":"GET","requestID":"b3832420-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/peerconnections/27b656cd-337c-4ce3-a8e4-19d63c7d2164"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"174e784d952efe4314fd4fdef43942cd","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"174e784d952efe4314fd4fdef43942cd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b492a74d-7f11-4cac-87d3-d60f3b435b75","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162816.3824449} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.358373,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b386cda0-0d22-11ef-9118-35435c36490d"},"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/f7acfd16-3421-4454-8fbf-cb7f02ee059a/signaling 200 8ms","method":"POST","requestID":"b386cda0-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c10a639e-37fa-4bdb-a1eb-6c5354ca2443","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162816.3920143} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.183475,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","object_type":"device","rebac_allow":false,"scope_allow":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":"b3885440-0d22-11ef-9118-35435c36490d"},"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/2d7bd3f6-06fa-4026-9897-91fd7ef0417a/signaling 200 7ms","method":"POST","requestID":"b3885440-0d22-11ef-9118-35435c36490d","responseTime":7,"status":200,"url":"/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNn0.iZselcek1Vxt-ZHiN-CIv24iRWw6Jyr-KiuaDjHs5ds","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2537fb12a344b590130937230b84759e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.645396,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162816,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNn0.iZselcek1Vxt-ZHiN-CIv24iRWw6Jyr-KiuaDjHs5ds"} 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":"2537fb12a344b590130937230b84759e"},"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/77f123b3-c2ab-45d9-a658-e4c0e785f45a"} gateway-1 | {"time_local":"08/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a 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":"2537fb12a344b590130937230b84759e"} experiment-1 | {"level":"info","message":"GET /experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a 200 9ms","method":"GET","requestID":"2537fb12a344b590130937230b84759e","responseTime":9,"status":200,"url":"/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNn0.iZselcek1Vxt-ZHiN-CIv24iRWw6Jyr-KiuaDjHs5ds","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2fd57b0522765e9bcbe88b331bd7c73e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.686956,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162816,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNn0.iZselcek1Vxt-ZHiN-CIv24iRWw6Jyr-KiuaDjHs5ds"} 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":"2fd57b0522765e9bcbe88b331bd7c73e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.267902,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/27b656cd-337c-4ce3-a8e4-19d63c7d2164","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/27b656cd-337c-4ce3-a8e4-19d63c7d2164","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162816,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNn0.iZselcek1Vxt-ZHiN-CIv24iRWw6Jyr-KiuaDjHs5ds"} 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":"b392b480-0d22-11ef-9118-35435c36490d"},"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/27b656cd-337c-4ce3-a8e4-19d63c7d2164' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/27b656cd-337c-4ce3-a8e4-19d63c7d2164' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"27b656cd-337c-4ce3-a8e4-19d63c7d2164","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":"a810aea5d08baf6be1073157d1e9337d","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":"59e08ae3c709ac6bc9531d537221b597","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a"},{"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/2d7bd3f6-06fa-4026-9897-91fd7ef0417a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/27b656cd-337c-4ce3-a8e4-19d63c7d2164"}}},"level":"info","message":"received a callback"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a"},{"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/2d7bd3f6-06fa-4026-9897-91fd7ef0417a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/27b656cd-337c-4ce3-a8e4-19d63c7d2164"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F27b656cd-337c-4ce3-a8e4-19d63c7d2164': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F27b656cd-337c-4ce3-a8e4-19d63c7d2164","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"a4f72dcb-db58-4732-9317-2d594541fe42","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162816.4709303} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f51ba855-67e0-44f5-b762-5d208295d5b8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162816.4711802} 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":"b392b480-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device-1 | {"data":{"peerconnection":"27b656cd-337c-4ce3-a8e4-19d63c7d2164","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/27b656cd-337c-4ce3-a8e4-19d63c7d2164 204 40ms","method":"DELETE","requestID":"b392b480-0d22-11ef-9118-35435c36490d","responseTime":40,"status":204,"url":"/peerconnections/27b656cd-337c-4ce3-a8e4-19d63c7d2164"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff7acfd16-3421-4454-8fbf-cb7f02ee059a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b70d593-0d06-411e-af8d-f345074edc8c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162816.5156355} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.586092,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b39b18f0-0d22-11ef-9118-35435c36490d"},"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/f7acfd16-3421-4454-8fbf-cb7f02ee059a/signaling 200 8ms","method":"POST","requestID":"b39b18f0-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F77f123b3-c2ab-45d9-a658-e4c0e785f45a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F77f123b3-c2ab-45d9-a658-e4c0e785f45a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"9df02aed-dca7-4a64-80b6-f716e2fa162e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162816.5208707} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"465ead4b-7f9d-4f4c-bf47-ceba8a55be7a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162816.5210857} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"2fd57b0522765e9bcbe88b331bd7c73e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d7bd3f6-06fa-4026-9897-91fd7ef0417a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1de24ac-d1c7-46cc-b6ab-10d7a45e7844","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162816.5261633} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.419835,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a","object_type":"device","rebac_allow":false,"scope_allow":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":"b39c9f90-0d22-11ef-9118-35435c36490d"},"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/2d7bd3f6-06fa-4026-9897-91fd7ef0417a/signaling 200 8ms","method":"POST","requestID":"b39c9f90-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"} gateway-1 | {"time_local":"08/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a 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":"2fd57b0522765e9bcbe88b331bd7c73e"} gateway-1 | {"time_local":"08/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2707","request_time":"2.543","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"d91e2567871db8c22574955fc4f09aca"} gateway-1 | {"time_local":"08/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2709","request_time":"2.536","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5822d532a12ec03aa8d8872b49d7448a"} experiment-1 | {"level":"info","message":"DELETE /experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a 204 128ms","method":"DELETE","requestID":"2fd57b0522765e9bcbe88b331bd7c73e","responseTime":128,"status":204,"url":"/experiments/77f123b3-c2ab-45d9-a658-e4c0e785f45a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 104ms","method":"POST","requestID":"a810aea5d08baf6be1073157d1e9337d","responseTime":104,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.109","http_referrer":"","http_user_agent":"node-fetch","requestID":"a810aea5d08baf6be1073157d1e9337d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNn0.iZselcek1Vxt-ZHiN-CIv24iRWw6Jyr-KiuaDjHs5ds","level":"info","message":"auth send jwt"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 106ms","method":"POST","requestID":"59e08ae3c709ac6bc9531d537221b597","responseTime":106,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.110","http_referrer":"","http_user_agent":"node-fetch","requestID":"59e08ae3c709ac6bc9531d537221b597"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2d7bd3f6-06fa-4026-9897-91fd7ef0417a' closed"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"aa9f05eadb1659a257709e8d827d0380","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.910544,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162816,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNn0.iZselcek1Vxt-ZHiN-CIv24iRWw6Jyr-KiuaDjHs5ds"} 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":"aa9f05eadb1659a257709e8d827d0380"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f7acfd16-3421-4454-8fbf-cb7f02ee059a' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f7c2efff-ae91-4852-87d3-29c2983300ad","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162816.601581} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa9f05eadb1659a257709e8d827d0380"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"645e8f64-d20d-4f98-9f84-15b5523a2555","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162816.6067781} 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":"aa9f05eadb1659a257709e8d827d0380"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"66890d5f-48ad-43cb-b5f2-cad41f8a8a1a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162816.6160467} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3d8d626-f362-4ab7-88eb-e92f492cd935","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162816.6162505} 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":"aa9f05eadb1659a257709e8d827d0380"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:56.616010289Z"}]},"request_id":"daa44908-99b2-4769-8314-ac5b63514ab7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162816.6204782} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa9f05eadb1659a257709e8d827d0380"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa9f05eadb1659a257709e8d827d0380"} device-1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"aa9f05eadb1659a257709e8d827d0380","responseTime":38,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNn0.iZselcek1Vxt-ZHiN-CIv24iRWw6Jyr-KiuaDjHs5ds","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4c6c73b8ea29a07138cf45fc13b4f94f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.873415,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162816,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxNn0.iZselcek1Vxt-ZHiN-CIv24iRWw6Jyr-KiuaDjHs5ds"} 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":"4c6c73b8ea29a07138cf45fc13b4f94f"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"39d980b0-e9c3-43b2-bd81-4425b25ee297","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162816.6440954} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4c6c73b8ea29a07138cf45fc13b4f94f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c6f34b46-ea1f-4afe-9603-fd79a1330414","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162816.6490188} 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":"4c6c73b8ea29a07138cf45fc13b4f94f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"3f4c7ea0-9ad7-4d47-925c-7f487d091df5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162816.66266} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23b18045-3ecf-42f6-a0e3-e7e82436fc92","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162816.6629243} 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":"4c6c73b8ea29a07138cf45fc13b4f94f"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:56.662631892Z"}]},"request_id":"f0d719dd-a7dd-4b34-9ae5-d8eeed5f3d3c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162816.6676185} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4c6c73b8ea29a07138cf45fc13b4f94f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4c6c73b8ea29a07138cf45fc13b4f94f"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"4c6c73b8ea29a07138cf45fc13b4f94f","responseTime":42,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"abd1d00ef1ec73ade399a2962eae78d7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.919696,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162817,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"abd1d00ef1ec73ade399a2962eae78d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:56.662631892Z"}]},"request_id":"f5b437f7-874b-430e-a469-9ac4af40c309","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.2456632} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"abd1d00ef1ec73ade399a2962eae78d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1030fe6f-f4fe-4868-8907-ec12be6a0e1f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.2510343} 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":"abd1d00ef1ec73ade399a2962eae78d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5676e4fe7d588fcbb0849cad15f85e7e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:56.662631892Z"}]},"request_id":"d93951f6-a942-4a5e-a21e-3a51b7abf8d0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.277452} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"abd1d00ef1ec73ade399a2962eae78d7"},"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:52962","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.771362,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} gateway-1 | {"time_local":"08/May/2024:10:06:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8c6c8518-39ac-46d3-b5b0-5239acef886c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.051","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"abd1d00ef1ec73ade399a2962eae78d7"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"PATCH /devices/8c6c8518-39ac-46d3-b5b0-5239acef886c 200 47ms","method":"PATCH","requestID":"abd1d00ef1ec73ade399a2962eae78d7","responseTime":47,"status":200,"url":"/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162817,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5676e4fe7d588fcbb0849cad15f85e7e"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:56.616010289Z"}]},"request_id":"9df3ea35-1836-4d91-b0bd-ddaad4fe20a0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.285914} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"470f07b69648f56623e50bc8e95e1665","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5676e4fe7d588fcbb0849cad15f85e7e"},"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:52962","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941173,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162817,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"470f07b69648f56623e50bc8e95e1665"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb0cec4b-b86a-4af7-bcd6-9f3e386ea947","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.292719} 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":"5676e4fe7d588fcbb0849cad15f85e7e"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:56.616010289Z"}]},"request_id":"64e8bb63-b5ee-4c9f-9c73-280b5818e78e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.305695} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5676e4fe7d588fcbb0849cad15f85e7e"},"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/95008b2e-0bf5-4c66-898a-6680bf2cbe2c 200 33ms","method":"PATCH","requestID":"5676e4fe7d588fcbb0849cad15f85e7e","responseTime":33,"status":200,"url":"/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c"} gateway-1 | {"time_local":"08/May/2024:10:06:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.037","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"5676e4fe7d588fcbb0849cad15f85e7e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8c6c8518-39ac-46d3-b5b0-5239acef886c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"470f07b69648f56623e50bc8e95e1665"} device-1 | {"level":"info","message":"POST /devices/8c6c8518-39ac-46d3-b5b0-5239acef886c/websocket 200 28ms","method":"POST","requestID":"470f07b69648f56623e50bc8e95e1665","responseTime":28,"status":200,"url":"/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b005c5fa7f5caebea03e8b8551ccc02c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700861,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162817,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b005c5fa7f5caebea03e8b8551ccc02c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"device 'http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c' connected"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c/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":"b005c5fa7f5caebea03e8b8551ccc02c"} device-1 | {"level":"info","message":"POST /devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c/websocket 200 23ms","method":"POST","requestID":"b005c5fa7f5caebea03e8b8551ccc02c","responseTime":23,"status":200,"url":"/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"96e515a805ade89cde09cde18859f842","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.644462,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162817,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96e515a805ade89cde09cde18859f842"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:56.616010289Z"}]},"request_id":"14eabe02-8841-4b85-9ba6-ac032e0abb18","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.3641746} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96e515a805ade89cde09cde18859f842"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"96e515a805ade89cde09cde18859f842"} device-1 | {"level":"info","message":"GET /devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c? 200 13ms","method":"GET","requestID":"96e515a805ade89cde09cde18859f842","responseTime":13,"status":200,"url":"/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9a6f27b94ece3ad92656ff32c652f3fd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.724893,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162817,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a6f27b94ece3ad92656ff32c652f3fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:56.662631892Z"}]},"request_id":"13685e98-3cd6-4822-914b-8fd0e71cdd52","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.383092} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a6f27b94ece3ad92656ff32c652f3fd"},"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/8c6c8518-39ac-46d3-b5b0-5239acef886c? 200 12ms","method":"GET","requestID":"9a6f27b94ece3ad92656ff32c652f3fd","responseTime":12,"status":200,"url":"/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c?"} gateway-1 | {"time_local":"08/May/2024:10:06:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8c6c8518-39ac-46d3-b5b0-5239acef886c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a6f27b94ece3ad92656ff32c652f3fd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"11716f7d94a8364d5b39709719b123fc","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:52962","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.957012,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162817,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o"} 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":"11716f7d94a8364d5b39709719b123fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"},"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:52962","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.625338,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162817,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b42816b0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.584924,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162817,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4283dc0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:56.616010289Z"}]},"request_id":"c6d318a5-0ea1-44f6-91ab-56f280b2e889","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.4446676} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b42816b0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:56.662631892Z"}]},"request_id":"0e89ea47-89b4-4efe-833d-ee7957c64e43","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.4457262} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4283dc0-0d22-11ef-9118-35435c36490d"},"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/95008b2e-0bf5-4c66-898a-6680bf2cbe2c? 200 15ms","method":"GET","requestID":"b42816b0-0d22-11ef-9118-35435c36490d","responseTime":15,"status":200,"url":"/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/8c6c8518-39ac-46d3-b5b0-5239acef886c? 200 15ms","method":"GET","requestID":"b4283dc0-0d22-11ef-9118-35435c36490d","responseTime":15,"status":200,"url":"/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"},"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/a566a2a2-acef-47b6-975e-96b40d1501ff"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.744593,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.998199,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"client_addr":"127.0.0.1:55698","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162817,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o"} 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":"b43005f0-0d22-11ef-9118-35435c36490d"},"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/8c6c8518-39ac-46d3-b5b0-5239acef886c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162817,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o"} 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":"b4302d00-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:55698","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.104422,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47babdf8-30f7-4873-9ab3-ce900ef8fa27","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.4946527} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","object_type":"device","rebac_allow":false,"scope_allow":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":"b4305410-0d22-11ef-9118-35435c36490d"},"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/95008b2e-0bf5-4c66-898a-6680bf2cbe2c/signaling 200 13ms","method":"POST","requestID":"b4305410-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c/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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:56.616010289Z"}]},"request_id":"0d8971a8-efec-4734-ab8d-d8c475eb6587","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.5024216} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b43005f0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:56.662631892Z"}]},"request_id":"03b7bf7f-a178-4bba-8cbb-5e2739211ec0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.5035954} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4302d00-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa566a2a2-acef-47b6-975e-96b40d1501ff#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa566a2a2-acef-47b6-975e-96b40d1501ff","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"d08b7800-9021-402b-b685-34e5be71c6a5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.5077386} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e19d669c-d5b7-4f10-8679-b59fff0fdc45","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.5081527} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} 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":"11716f7d94a8364d5b39709719b123fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"aac47a5f-0c9c-4341-92d4-c2304eb65928","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.5104978} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.459296,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} device-1 | {"level":"info","message":"GET /devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c? 200 24ms","method":"GET","requestID":"b43005f0-0d22-11ef-9118-35435c36490d","responseTime":24,"status":200,"url":"/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","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/8c6c8518-39ac-46d3-b5b0-5239acef886c? 200 24ms","method":"GET","requestID":"b4302d00-0d22-11ef-9118-35435c36490d","responseTime":24,"status":200,"url":"/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c?"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4329e00-0d22-11ef-9118-35435c36490d"},"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/8c6c8518-39ac-46d3-b5b0-5239acef886c/signaling 200 11ms","method":"POST","requestID":"b4329e00-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 126ms","method":"POST","requestID":"11716f7d94a8364d5b39709719b123fc","responseTime":126,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"08/May/2024:10:06:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"11716f7d94a8364d5b39709719b123fc"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b01b4ad-ad12-4945-bfa3-3a356d74ad4c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.5207021} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.571993,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","object_type":"device","rebac_allow":false,"scope_allow":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":"b4344bb0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"16d2a2c1ad5c4b6fb05df7e1d68fbbc0","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/95008b2e-0bf5-4c66-898a-6680bf2cbe2c/signaling 200 12ms","method":"POST","requestID":"b4344bb0-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.81256,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162817,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o"} 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":"16d2a2c1ad5c4b6fb05df7e1d68fbbc0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:56.616010289Z"}]},"request_id":"75e97ea6-a1ed-4333-82d8-e45b496f9063","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.533024} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4dd97185-5c87-4d3d-bb4c-594eb2f3b421","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.5330772} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"16d2a2c1ad5c4b6fb05df7e1d68fbbc0"},"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:52962","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.420503,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4366e90-0d22-11ef-9118-35435c36490d"},"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":"08/May/2024:10:06:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"16d2a2c1ad5c4b6fb05df7e1d68fbbc0"} device-1 | {"level":"info","message":"GET /devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c? 200 12ms","method":"GET","requestID":"16d2a2c1ad5c4b6fb05df7e1d68fbbc0","responseTime":12,"status":200,"url":"/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/8c6c8518-39ac-46d3-b5b0-5239acef886c/signaling 200 9ms","method":"POST","requestID":"b4366e90-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"},"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":"5ba202da-cb8b-4880-a498-aa9766b3046a"},{"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":"0fe1c2be-2d3d-4ef5-807d-6d704fc3563d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"8a541fa8-a82c-403c-88a6-7d66d6ca23fb"}]},"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/95008b2e-0bf5-4c66-898a-6680bf2cbe2c"},{"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/8c6c8518-39ac-46d3-b5b0-5239acef886c"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o","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":"bc5507b63fc79900b510411d9527c721","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.796554,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162817,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o"} 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":"b4384350-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.92164,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162817,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxN30.v6umIGx3F5H-ZNWmag_FpKPRKv9i-5EH9pxpP5Xfa2o"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc5507b63fc79900b510411d9527c721"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:56.662631892Z"}]},"request_id":"bd27d70c-1d1d-42b4-b324-7ca758349ffd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.5548975} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bc5507b63fc79900b510411d9527c721"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"ea4c0c53-4b32-4664-9d1d-2ee0e2596ae9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.5558589} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8fcdcb60-ab4b-44aa-993c-06359beb30cf","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.5564775} 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":"b4384350-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8c6c8518-39ac-46d3-b5b0-5239acef886c? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc5507b63fc79900b510411d9527c721"} device-1 | {"level":"info","message":"GET /devices/8c6c8518-39ac-46d3-b5b0-5239acef886c? 200 17ms","method":"GET","requestID":"bc5507b63fc79900b510411d9527c721","responseTime":17,"status":200,"url":"/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c?"} 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/13b147b9-bc1c-4163-aef5-ff272ba98dad'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/13b147b9-bc1c-4163-aef5-ff272ba98dad'"} 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":"b4384350-0d22-11ef-9118-35435c36490d","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/a566a2a2-acef-47b6-975e-96b40d1501ff"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2b65eef-3446-4734-86ff-40f63ad04b87","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.6134832} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.651126,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b442a390-0d22-11ef-9118-35435c36490d"},"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/95008b2e-0bf5-4c66-898a-6680bf2cbe2c/signaling 200 10ms","method":"POST","requestID":"b442a390-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b543962f-fd42-475a-9266-c8097a4af396","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162817.6278105} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.597483,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","object_type":"device","rebac_allow":false,"scope_allow":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":"b4447850-0d22-11ef-9118-35435c36490d"},"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/8c6c8518-39ac-46d3-b5b0-5239acef886c/signaling 200 11ms","method":"POST","requestID":"b4447850-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c/signaling"} device-1 | {"data":{"peerconnection":"13b147b9-bc1c-4163-aef5-ff272ba98dad","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"13b147b9-bc1c-4163-aef5-ff272ba98dad","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/13b147b9-bc1c-4163-aef5-ff272ba98dad' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"13b147b9-bc1c-4163-aef5-ff272ba98dad","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":"9e79cddcb917de2c29519c8bb856cebe","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c"},{"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/8c6c8518-39ac-46d3-b5b0-5239acef886c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/13b147b9-bc1c-4163-aef5-ff272ba98dad"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"9e79cddcb917de2c29519c8bb856cebe","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"9e79cddcb917de2c29519c8bb856cebe"} device-1 | {"data":{"peerconnection":"13b147b9-bc1c-4163-aef5-ff272ba98dad","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"13b147b9-bc1c-4163-aef5-ff272ba98dad","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/13b147b9-bc1c-4163-aef5-ff272ba98dad' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"13b147b9-bc1c-4163-aef5-ff272ba98dad","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":"51263227e80c67fd7aa56896ba18fce9","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c"},{"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/8c6c8518-39ac-46d3-b5b0-5239acef886c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/13b147b9-bc1c-4163-aef5-ff272ba98dad"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F13b147b9-bc1c-4163-aef5-ff272ba98dad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74b3da57-9370-4f07-9fe9-3a43d62b8c00","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162819.674375} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.227947,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/13b147b9-bc1c-4163-aef5-ff272ba98dad","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/13b147b9-bc1c-4163-aef5-ff272ba98dad","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":"b57d1f60-0d22-11ef-9118-35435c36490d"},"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/13b147b9-bc1c-4163-aef5-ff272ba98dad 200 8ms","method":"GET","requestID":"b57d1f60-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/peerconnections/13b147b9-bc1c-4163-aef5-ff272ba98dad"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"51263227e80c67fd7aa56896ba18fce9","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"51263227e80c67fd7aa56896ba18fce9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5fe38d9e-2736-4c28-8f42-9acecba2fbb0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162819.6961606} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.043765,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","object_type":"device","rebac_allow":false,"scope_allow":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":"b5807ac0-0d22-11ef-9118-35435c36490d"},"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/95008b2e-0bf5-4c66-898a-6680bf2cbe2c/signaling 200 8ms","method":"POST","requestID":"b5807ac0-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bc172c06-b44b-4d57-96e8-045eff74aef4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162819.7060091} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.176201,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","object_type":"device","rebac_allow":false,"scope_allow":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":"b5820160-0d22-11ef-9118-35435c36490d"},"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/8c6c8518-39ac-46d3-b5b0-5239acef886c/signaling 200 8ms","method":"POST","requestID":"b5820160-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxOX0.5mfrG2u4IpkGgssFmXPBCMXvA9zUuhrdZeU2Qq94wXk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"00b37b8eae50d5b6ed354e468495fe81","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.894713,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162819,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxOX0.5mfrG2u4IpkGgssFmXPBCMXvA9zUuhrdZeU2Qq94wXk"} 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":"00b37b8eae50d5b6ed354e468495fe81"},"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/a566a2a2-acef-47b6-975e-96b40d1501ff"} gateway-1 | {"time_local":"08/May/2024:10:06:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a566a2a2-acef-47b6-975e-96b40d1501ff 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":"00b37b8eae50d5b6ed354e468495fe81"} experiment-1 | {"level":"info","message":"GET /experiments/a566a2a2-acef-47b6-975e-96b40d1501ff 200 10ms","method":"GET","requestID":"00b37b8eae50d5b6ed354e468495fe81","responseTime":10,"status":200,"url":"/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxOX0.5mfrG2u4IpkGgssFmXPBCMXvA9zUuhrdZeU2Qq94wXk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"acd868528e4ebc6b8351114cbf7070a0","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.623205,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162819,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxOX0.5mfrG2u4IpkGgssFmXPBCMXvA9zUuhrdZeU2Qq94wXk"} 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":"acd868528e4ebc6b8351114cbf7070a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.672607,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/13b147b9-bc1c-4163-aef5-ff272ba98dad","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/13b147b9-bc1c-4163-aef5-ff272ba98dad","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162819,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxOX0.5mfrG2u4IpkGgssFmXPBCMXvA9zUuhrdZeU2Qq94wXk"} 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":"b58eab90-0d22-11ef-9118-35435c36490d"},"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/13b147b9-bc1c-4163-aef5-ff272ba98dad' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/13b147b9-bc1c-4163-aef5-ff272ba98dad' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"13b147b9-bc1c-4163-aef5-ff272ba98dad","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":"02d0663009e6a020988e9c127e0e03c9","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c"},{"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/8c6c8518-39ac-46d3-b5b0-5239acef886c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/13b147b9-bc1c-4163-aef5-ff272ba98dad"}}},"level":"info","message":"received a callback"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F13b147b9-bc1c-4163-aef5-ff272ba98dad': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F13b147b9-bc1c-4163-aef5-ff272ba98dad","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"0ab4e7da-c36b-449b-a2fd-13a3844a143b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162819.800564} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"94e4fbb7ee707db8ba85066698053a0c","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c"},{"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/8c6c8518-39ac-46d3-b5b0-5239acef886c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/13b147b9-bc1c-4163-aef5-ff272ba98dad"}}},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a54c8cd2-00b4-47c8-b603-651088cba5f6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162819.800957} 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":"b58eab90-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device-1 | {"data":{"peerconnection":"13b147b9-bc1c-4163-aef5-ff272ba98dad","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/13b147b9-bc1c-4163-aef5-ff272ba98dad 204 32ms","method":"DELETE","requestID":"b58eab90-0d22-11ef-9118-35435c36490d","responseTime":32,"status":204,"url":"/peerconnections/13b147b9-bc1c-4163-aef5-ff272ba98dad"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F95008b2e-0bf5-4c66-898a-6680bf2cbe2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6950a766-1efb-4ba3-9694-1b0faf21532d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162819.8351061} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.653077,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c","object_type":"device","rebac_allow":false,"scope_allow":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":"b5958960-0d22-11ef-9118-35435c36490d"},"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/95008b2e-0bf5-4c66-898a-6680bf2cbe2c/signaling 200 9ms","method":"POST","requestID":"b5958960-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/95008b2e-0bf5-4c66-898a-6680bf2cbe2c/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa566a2a2-acef-47b6-975e-96b40d1501ff': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa566a2a2-acef-47b6-975e-96b40d1501ff","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"93d65a73-e804-4427-b9fd-3b114e298b72","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162819.8417315} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"20334508-835f-4b1c-bca0-5b190e067b9b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162819.8419201} 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":"acd868528e4ebc6b8351114cbf7070a0"},"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:52962","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c6c8518-39ac-46d3-b5b0-5239acef886c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ffeac182-16d3-4a0a-984b-3955f9fbebdc","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162819.8462532} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.294873,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c","object_type":"device","rebac_allow":false,"scope_allow":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":"b5973710-0d22-11ef-9118-35435c36490d"},"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/8c6c8518-39ac-46d3-b5b0-5239acef886c/signaling 200 9ms","method":"POST","requestID":"b5973710-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/8c6c8518-39ac-46d3-b5b0-5239acef886c/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"} gateway-1 | {"time_local":"08/May/2024:10:06:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a566a2a2-acef-47b6-975e-96b40d1501ff 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":"acd868528e4ebc6b8351114cbf7070a0"} experiment-1 | {"level":"info","message":"DELETE /experiments/a566a2a2-acef-47b6-975e-96b40d1501ff 204 123ms","method":"DELETE","requestID":"acd868528e4ebc6b8351114cbf7070a0","responseTime":123,"status":204,"url":"/experiments/a566a2a2-acef-47b6-975e-96b40d1501ff"} gateway-1 | {"time_local":"08/May/2024:10:06:59 +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.582","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"05d6f9de24170acae17f1bdb28a5ff37"} gateway-1 | {"time_local":"08/May/2024:10:06:59 +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.557","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.5","requestID":"feb125db617574bce8a99d04f9c9dd2f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 100ms","method":"POST","requestID":"02d0663009e6a020988e9c127e0e03c9","responseTime":100,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.104","http_referrer":"","http_user_agent":"node-fetch","requestID":"02d0663009e6a020988e9c127e0e03c9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 100ms","method":"POST","requestID":"94e4fbb7ee707db8ba85066698053a0c","responseTime":100,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:06:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.104","http_referrer":"","http_user_agent":"node-fetch","requestID":"94e4fbb7ee707db8ba85066698053a0c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxOX0.5mfrG2u4IpkGgssFmXPBCMXvA9zUuhrdZeU2Qq94wXk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b59a0a9fb63e7dc2fa84378ab6e69cd2","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/8c6c8518-39ac-46d3-b5b0-5239acef886c' closed"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.065822,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162819,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxOX0.5mfrG2u4IpkGgssFmXPBCMXvA9zUuhrdZeU2Qq94wXk"} 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":"b59a0a9fb63e7dc2fa84378ab6e69cd2"},"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/95008b2e-0bf5-4c66-898a-6680bf2cbe2c' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37283605-8f86-4ec8-948d-646f75e6d780","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ff4bfedb-c453-4eb3-9429-988d596ed0d1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162819.9497366} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b59a0a9fb63e7dc2fa84378ab6e69cd2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83fef002-6b5f-4204-b14c-51f9543b6f71","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162819.955817} 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":"b59a0a9fb63e7dc2fa84378ab6e69cd2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37283605-8f86-4ec8-948d-646f75e6d780","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"c937c235-9134-46ea-bb3e-664e9d192352","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162819.9696581} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b0ce563-afb9-43d7-a883-c3a6af2f3091","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162819.9699972} 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":"b59a0a9fb63e7dc2fa84378ab6e69cd2"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37283605-8f86-4ec8-948d-646f75e6d780","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37283605-8f86-4ec8-948d-646f75e6d780","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:59.969616591Z"}]},"request_id":"fdac45fd-98f4-4b15-b990-a4a15560b76b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162819.9760287} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b59a0a9fb63e7dc2fa84378ab6e69cd2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:06:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.079","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b59a0a9fb63e7dc2fa84378ab6e69cd2"} device-1 | {"level":"info","message":"POST /devices? 201 69ms","method":"POST","requestID":"b59a0a9fb63e7dc2fa84378ab6e69cd2","responseTime":69,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxOX0.5mfrG2u4IpkGgssFmXPBCMXvA9zUuhrdZeU2Qq94wXk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"390388c7a8ebc079169ddb98fc0c54ed","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.880303,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:06:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162819,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgxOX0.5mfrG2u4IpkGgssFmXPBCMXvA9zUuhrdZeU2Qq94wXk"} 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":"390388c7a8ebc079169ddb98fc0c54ed"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f7d4a0f-357c-45af-b00a-0cc4f3858ade","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a872bef8-efb5-4bda-b8a8-d761ad3f601f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162820.0042827} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"390388c7a8ebc079169ddb98fc0c54ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"86656d41-5d5f-4662-8997-b4a9080cbefa","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162820.0096056} 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":"390388c7a8ebc079169ddb98fc0c54ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f7d4a0f-357c-45af-b00a-0cc4f3858ade","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"132ad48e-0357-4f3a-9e07-b27d5320ba4a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162820.019272} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"034e4f51-190a-4bdc-b9b5-3e5175cbf7e1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162820.019546} 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":"390388c7a8ebc079169ddb98fc0c54ed"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f7d4a0f-357c-45af-b00a-0cc4f3858ade","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f7d4a0f-357c-45af-b00a-0cc4f3858ade","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:07:00.019230124Z"}]},"request_id":"d0899545-fa91-4582-a269-6385f94cee5e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162820.0247197} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"390388c7a8ebc079169ddb98fc0c54ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"390388c7a8ebc079169ddb98fc0c54ed","responseTime":42,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/May/2024:10:07:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"390388c7a8ebc079169ddb98fc0c54ed"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"662fed0bc678676ade3aa74c939155e8","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade/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":"662fed0bc678676ade3aa74c939155e8"} device-1 | {"level":"info","message":"OPTIONS /devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade/websocket 200 1ms","method":"OPTIONS","requestID":"662fed0bc678676ade3aa74c939155e8","responseTime":1,"status":200,"url":"/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"6aa1876df87ac772db41803750bf1120","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/37283605-8f86-4ec8-948d-646f75e6d780/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":"6aa1876df87ac772db41803750bf1120"} device-1 | {"level":"info","message":"OPTIONS /devices/37283605-8f86-4ec8-948d-646f75e6d780/websocket 200 1ms","method":"OPTIONS","requestID":"6aa1876df87ac772db41803750bf1120","responseTime":1,"status":200,"url":"/devices/37283605-8f86-4ec8-948d-646f75e6d780/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMX0.EtMsxOkejL1MMYhZ7EOcdL1h3-6iCXurpgcGk51-OAo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"468e7294690a2cd2c057b57d91a64d96","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.684465,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162821,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMX0.EtMsxOkejL1MMYhZ7EOcdL1h3-6iCXurpgcGk51-OAo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"468e7294690a2cd2c057b57d91a64d96"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMX0.EtMsxOkejL1MMYhZ7EOcdL1h3-6iCXurpgcGk51-OAo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e1da709306783573fde23d0e3a2b557a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:01Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.697822,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162821,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMX0.EtMsxOkejL1MMYhZ7EOcdL1h3-6iCXurpgcGk51-OAo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1da709306783573fde23d0e3a2b557a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:07:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade/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":"468e7294690a2cd2c057b57d91a64d96"} device-1 | {"level":"info","message":"POST /devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade/websocket 200 30ms","method":"POST","requestID":"468e7294690a2cd2c057b57d91a64d96","responseTime":30,"status":200,"url":"/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/37283605-8f86-4ec8-948d-646f75e6d780/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":"e1da709306783573fde23d0e3a2b557a"} device-1 | {"level":"info","message":"POST /devices/37283605-8f86-4ec8-948d-646f75e6d780/websocket 200 33ms","method":"POST","requestID":"e1da709306783573fde23d0e3a2b557a","responseTime":33,"status":200,"url":"/devices/37283605-8f86-4ec8-948d-646f75e6d780/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"808feb0817076c358f416fa0a2ce7f13","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.890798,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162822,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"808feb0817076c358f416fa0a2ce7f13"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37283605-8f86-4ec8-948d-646f75e6d780","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37283605-8f86-4ec8-948d-646f75e6d780","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:59.969616591Z"}]},"request_id":"eeb65c01-e382-4e3b-9489-9a3a7a03029c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.04387} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"808feb0817076c358f416fa0a2ce7f13"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/37283605-8f86-4ec8-948d-646f75e6d780? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"808feb0817076c358f416fa0a2ce7f13"} device-1 | {"level":"info","message":"GET /devices/37283605-8f86-4ec8-948d-646f75e6d780? 200 10ms","method":"GET","requestID":"808feb0817076c358f416fa0a2ce7f13","responseTime":10,"status":200,"url":"/devices/37283605-8f86-4ec8-948d-646f75e6d780?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9c49855f1f3d8d8bbfb704c524326896","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.705864,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162822,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c49855f1f3d8d8bbfb704c524326896"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f7d4a0f-357c-45af-b00a-0cc4f3858ade","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f7d4a0f-357c-45af-b00a-0cc4f3858ade","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:07:00.019230124Z"}]},"request_id":"9103cb7a-3955-49ee-ad61-e9384cbd0eac","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.0583262} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c49855f1f3d8d8bbfb704c524326896"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c49855f1f3d8d8bbfb704c524326896"} device-1 | {"level":"info","message":"GET /devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade? 200 10ms","method":"GET","requestID":"9c49855f1f3d8d8bbfb704c524326896","responseTime":10,"status":200,"url":"/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"349d3d61c8b91fd408efe08e3e42542d","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:52962","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.971378,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162822,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc"} 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":"349d3d61c8b91fd408efe08e3e42542d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"},"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:52962","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.930761,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162822,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6f20c20-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.734745,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162822,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6f23330-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37283605-8f86-4ec8-948d-646f75e6d780","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37283605-8f86-4ec8-948d-646f75e6d780","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:59.969616591Z"}]},"request_id":"88ff576a-d7d7-45a3-b131-5c4c1350a13b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.1220129} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6f20c20-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f7d4a0f-357c-45af-b00a-0cc4f3858ade","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f7d4a0f-357c-45af-b00a-0cc4f3858ade","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:07:00.019230124Z"}]},"request_id":"c217dda4-62ed-4d67-a4e6-f373ce0ad76c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.122611} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6f23330-0d22-11ef-9118-35435c36490d"},"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/37283605-8f86-4ec8-948d-646f75e6d780? 200 12ms","method":"GET","requestID":"b6f20c20-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/37283605-8f86-4ec8-948d-646f75e6d780?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade? 200 12ms","method":"GET","requestID":"b6f23330-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"},"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/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.955599,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162822,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6f9d450-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667255,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162822,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc"} 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":"b6f9fb60-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37283605-8f86-4ec8-948d-646f75e6d780","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"61ac4b81-7240-4328-9ff4-b3f9486c2820","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.1731052} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.512825,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","object_type":"device","rebac_allow":false,"scope_allow":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":"b6fa2270-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37283605-8f86-4ec8-948d-646f75e6d780","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37283605-8f86-4ec8-948d-646f75e6d780","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:59.969616591Z"}]},"request_id":"7ee181c7-28b6-4329-b20c-d0497db51cb1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.1770787} 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":"b6f9d450-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"level":"info","message":"POST /devices/37283605-8f86-4ec8-948d-646f75e6d780/signaling 200 14ms","method":"POST","requestID":"b6fa2270-0d22-11ef-9118-35435c36490d","responseTime":14,"status":200,"url":"/devices/37283605-8f86-4ec8-948d-646f75e6d780/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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f7d4a0f-357c-45af-b00a-0cc4f3858ade","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f7d4a0f-357c-45af-b00a-0cc4f3858ade","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:07:00.019230124Z"}]},"request_id":"d6c11dc2-40f1-418d-a641-9e03737ce432","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.180403} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6f9fb60-0d22-11ef-9118-35435c36490d"},"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/37283605-8f86-4ec8-948d-646f75e6d780? 200 21ms","method":"GET","requestID":"b6f9d450-0d22-11ef-9118-35435c36490d","responseTime":21,"status":200,"url":"/devices/37283605-8f86-4ec8-948d-646f75e6d780?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade? 200 21ms","method":"GET","requestID":"b6f9fb60-0d22-11ef-9118-35435c36490d","responseTime":21,"status":200,"url":"/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade?"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f7d4a0f-357c-45af-b00a-0cc4f3858ade","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b0992dd7-e1f7-4c3d-ba84-0a42006339a1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.18892} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5f32adc2-3ad5-4563-a8a6-e4b0083255cd#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5f32adc2-3ad5-4563-a8a6-e4b0083255cd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"c9b90777-1596-46d1-9d78-d448fa817d45","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.1890502} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.975956,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","object_type":"device","rebac_allow":false,"scope_allow":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":"b6fcba80-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c372888-57b3-4fb4-8613-2756a429a9e7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.1913793} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device-1 | {"level":"info","message":"POST /devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade/signaling 200 10ms","method":"POST","requestID":"b6fcba80-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade/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":"349d3d61c8b91fd408efe08e3e42542d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37283605-8f86-4ec8-948d-646f75e6d780","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c410308f-126e-4422-89ee-555d7b5c6dcd","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.19532} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.090253,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b6fda4e0-0d22-11ef-9118-35435c36490d"},"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/37283605-8f86-4ec8-948d-646f75e6d780/signaling 200 10ms","method":"POST","requestID":"b6fda4e0-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/37283605-8f86-4ec8-948d-646f75e6d780/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment-1 | {"level":"info","message":"POST /experiments? 201 136ms","method":"POST","requestID":"349d3d61c8b91fd408efe08e3e42542d","responseTime":136,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"08/May/2024:10:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.141","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"349d3d61c8b91fd408efe08e3e42542d"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc","level":"info","message":"auth send jwt"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2ab2b838ef3e883c19b914a9eaf411da","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f7d4a0f-357c-45af-b00a-0cc4f3858ade","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2554c7e1-ed46-4372-b723-b3ba5756d632","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.2095416} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.945411,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","object_type":"device","rebac_allow":false,"scope_allow":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":"b6ffa0b0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731802,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} device-1 | {"level":"info","message":"POST /devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade/signaling 200 11ms","method":"POST","requestID":"b6ffa0b0-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162822,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"fb44db82-1743-47db-b06f-121747c5aacc"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"708f3035-a32a-4433-bdb6-b27b9fe63778"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"54a6c500-5d68-4fb2-871a-1b42ecb04100"}]},"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/1f7d4a0f-357c-45af-b00a-0cc4f3858ade"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ab2b838ef3e883c19b914a9eaf411da"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37283605-8f86-4ec8-948d-646f75e6d780","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37283605-8f86-4ec8-948d-646f75e6d780","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:06:59.969616591Z"}]},"request_id":"41a8ee0d-1bd2-4065-9735-d5d3e850cb9e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.2197857} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ab2b838ef3e883c19b914a9eaf411da"},"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:52962","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.773397,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162822,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc"} 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":"b701eaa0-0d22-11ef-9118-35435c36490d"},"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/37283605-8f86-4ec8-948d-646f75e6d780? 200 14ms","method":"GET","requestID":"2ab2b838ef3e883c19b914a9eaf411da","responseTime":14,"status":200,"url":"/devices/37283605-8f86-4ec8-948d-646f75e6d780?"} gateway-1 | {"time_local":"08/May/2024:10:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/37283605-8f86-4ec8-948d-646f75e6d780? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2ab2b838ef3e883c19b914a9eaf411da"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"51c7eacfd9335ab06d5236c61b8ee51e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"c6389244-e02f-4d01-901e-ebac23f1bf7d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.230797} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c46f5d9-ea6e-4e44-a586-5374fe8691b5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.231033} 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":"b701eaa0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.615385,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162822,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51c7eacfd9335ab06d5236c61b8ee51e"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f7d4a0f-357c-45af-b00a-0cc4f3858ade","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f7d4a0f-357c-45af-b00a-0cc4f3858ade","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:07:00.019230124Z"}]},"request_id":"bc77ce05-ad7b-4afc-9c15-4afa85327a36","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.2390926} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51c7eacfd9335ab06d5236c61b8ee51e"},"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/bca120e6-1d77-4edf-8f0e-18590f44812e'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/bca120e6-1d77-4edf-8f0e-18590f44812e'"} 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":"b701eaa0-0d22-11ef-9118-35435c36490d","responseTime":28,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"51c7eacfd9335ab06d5236c61b8ee51e"} device-1 | {"level":"info","message":"GET /devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade? 200 17ms","method":"GET","requestID":"51c7eacfd9335ab06d5236c61b8ee51e","responseTime":17,"status":200,"url":"/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37283605-8f86-4ec8-948d-646f75e6d780","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"09fc1218-e4a3-4eb0-adcd-d7e802ca3de0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.2770286} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.569254,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b70a2800-0d22-11ef-9118-35435c36490d"},"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/37283605-8f86-4ec8-948d-646f75e6d780/signaling 200 10ms","method":"POST","requestID":"b70a2800-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/37283605-8f86-4ec8-948d-646f75e6d780/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f7d4a0f-357c-45af-b00a-0cc4f3858ade","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f3800172-98f3-4e1b-a1fe-379442e3d086","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.2887933} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.30353,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","object_type":"device","rebac_allow":false,"scope_allow":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":"b70bfcc0-0d22-11ef-9118-35435c36490d"},"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/1f7d4a0f-357c-45af-b00a-0cc4f3858ade/signaling 200 9ms","method":"POST","requestID":"b70bfcc0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/bca120e6-1d77-4edf-8f0e-18590f44812e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bca120e6-1d77-4edf-8f0e-18590f44812e","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":"4d05b6a4d96b783cbc1c32d8d7c299ab","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/1f7d4a0f-357c-45af-b00a-0cc4f3858ade"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/bca120e6-1d77-4edf-8f0e-18590f44812e"}}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"4d05b6a4d96b783cbc1c32d8d7c299ab","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"4d05b6a4d96b783cbc1c32d8d7c299ab"} device-1 | {"data":{"peerconnection":"bca120e6-1d77-4edf-8f0e-18590f44812e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"bca120e6-1d77-4edf-8f0e-18590f44812e","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/bca120e6-1d77-4edf-8f0e-18590f44812e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bca120e6-1d77-4edf-8f0e-18590f44812e","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":"73f3063a2c9fb717ccdb41f470074feb","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/1f7d4a0f-357c-45af-b00a-0cc4f3858ade"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/bca120e6-1d77-4edf-8f0e-18590f44812e"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbca120e6-1d77-4edf-8f0e-18590f44812e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e6e41c0-6497-434a-a44c-67a872340556","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.365966} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.351427,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bca120e6-1d77-4edf-8f0e-18590f44812e","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/bca120e6-1d77-4edf-8f0e-18590f44812e","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":"b717e3a0-0d22-11ef-9118-35435c36490d"},"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/bca120e6-1d77-4edf-8f0e-18590f44812e 200 10ms","method":"GET","requestID":"b717e3a0-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/peerconnections/bca120e6-1d77-4edf-8f0e-18590f44812e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"73f3063a2c9fb717ccdb41f470074feb","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"73f3063a2c9fb717ccdb41f470074feb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f7d4a0f-357c-45af-b00a-0cc4f3858ade","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4c6f1856-6263-4d66-a4f6-2c98a71990b7","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.395589} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.232744,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b71c5070-0d22-11ef-9118-35435c36490d"},"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/1f7d4a0f-357c-45af-b00a-0cc4f3858ade/signaling 200 8ms","method":"POST","requestID":"b71c5070-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37283605-8f86-4ec8-948d-646f75e6d780","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"29204702-2205-4c2f-b4c1-47e35c7def84","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.4057076} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.553587,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b71dd710-0d22-11ef-9118-35435c36490d"},"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/37283605-8f86-4ec8-948d-646f75e6d780/signaling 200 8ms","method":"POST","requestID":"b71dd710-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/37283605-8f86-4ec8-948d-646f75e6d780/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e8645e73c731b5f487676548d34d4667","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.331741,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162822,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc"} 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":"e8645e73c731b5f487676548d34d4667"},"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/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"} experiment-1 | {"level":"info","message":"GET /experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd 200 9ms","method":"GET","requestID":"e8645e73c731b5f487676548d34d4667","responseTime":9,"status":200,"url":"/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"} gateway-1 | {"time_local":"08/May/2024:10:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e8645e73c731b5f487676548d34d4667"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a95e52c5e3b99643361f7921361274a8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.658439,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162822,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc"} 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":"a95e52c5e3b99643361f7921361274a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.262194,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/bca120e6-1d77-4edf-8f0e-18590f44812e","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/bca120e6-1d77-4edf-8f0e-18590f44812e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162822,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc"} 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":"b7263b80-0d22-11ef-9118-35435c36490d"},"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/bca120e6-1d77-4edf-8f0e-18590f44812e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/bca120e6-1d77-4edf-8f0e-18590f44812e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"bca120e6-1d77-4edf-8f0e-18590f44812e","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":"230a975c94e82ffeffef099fdffe7ae3","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbca120e6-1d77-4edf-8f0e-18590f44812e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fbca120e6-1d77-4edf-8f0e-18590f44812e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"3cc1da77-475d-4f79-87bb-b361936fc45d","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.4733372} authentication-1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1a8174b3da39cf8e633a8b61bcadc04b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bca120e6-1d77-4edf-8f0e-18590f44812e"}}},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a18661ab-f8c6-4539-9579-fe14cd7edc13","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.4741383} 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/1f7d4a0f-357c-45af-b00a-0cc4f3858ade"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/bca120e6-1d77-4edf-8f0e-18590f44812e"}}},"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":"b7263b80-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device-1 | {"data":{"peerconnection":"bca120e6-1d77-4edf-8f0e-18590f44812e","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/bca120e6-1d77-4edf-8f0e-18590f44812e 204 34ms","method":"DELETE","requestID":"b7263b80-0d22-11ef-9118-35435c36490d","responseTime":34,"status":204,"url":"/peerconnections/bca120e6-1d77-4edf-8f0e-18590f44812e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1f7d4a0f-357c-45af-b00a-0cc4f3858ade","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a20f712-6c5f-4c72-bf0c-36c35cfc6b49","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.5140185} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.106593,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b72e51d0-0d22-11ef-9118-35435c36490d"},"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/1f7d4a0f-357c-45af-b00a-0cc4f3858ade/signaling 200 9ms","method":"POST","requestID":"b72e51d0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/1f7d4a0f-357c-45af-b00a-0cc4f3858ade/signaling"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5f32adc2-3ad5-4563-a8a6-e4b0083255cd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5f32adc2-3ad5-4563-a8a6-e4b0083255cd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"934d9e05-d6bc-4e53-86b1-b08b3c451420","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.5210483} 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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bea27c69-b89b-4867-a60c-d9cb7fadbfd6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.521324} 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":"a95e52c5e3b99643361f7921361274a8"},"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:52962","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37283605-8f86-4ec8-948d-646f75e6d780","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"350c6bfe-ee0c-4c8d-98a3-3982496be4ae","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.5266244} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.600202,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b7302690-0d22-11ef-9118-35435c36490d"},"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/37283605-8f86-4ec8-948d-646f75e6d780/signaling 200 10ms","method":"POST","requestID":"b7302690-0d22-11ef-9118-35435c36490d","responseTime":10,"status":200,"url":"/devices/37283605-8f86-4ec8-948d-646f75e6d780/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"} gateway-1 | {"time_local":"08/May/2024:10:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a95e52c5e3b99643361f7921361274a8"} experiment-1 | {"level":"info","message":"DELETE /experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd 204 128ms","method":"DELETE","requestID":"a95e52c5e3b99643361f7921361274a8","responseTime":128,"status":204,"url":"/experiments/5f32adc2-3ad5-4563-a8a6-e4b0083255cd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 102ms","method":"POST","requestID":"230a975c94e82ffeffef099fdffe7ae3","responseTime":102,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.106","http_referrer":"","http_user_agent":"node-fetch","requestID":"230a975c94e82ffeffef099fdffe7ae3"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 104ms","method":"POST","requestID":"1a8174b3da39cf8e633a8b61bcadc04b","responseTime":104,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.108","http_referrer":"","http_user_agent":"node-fetch","requestID":"1a8174b3da39cf8e633a8b61bcadc04b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2fd65c04707b4195a68df4c94adda134","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:07:02 +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.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":"383130cb9ce970ecca5f26d4efe338cf"} gateway-1 | {"time_local":"08/May/2024:10:07:02 +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.569","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"80c372c25b6943e92bb0d05e236436bd"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.821988,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162822,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc"} 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":"2fd65c04707b4195a68df4c94adda134"},"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/1f7d4a0f-357c-45af-b00a-0cc4f3858ade' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/37283605-8f86-4ec8-948d-646f75e6d780' 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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09aba45e-1687-4fb0-926d-ba1d4c10486f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a2b90373-d578-4583-b5ef-d23e3bb70e19","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.6135805} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2fd65c04707b4195a68df4c94adda134"},"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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8e7f3fe3-942b-4225-af34-a7bfab822740","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.6177015} 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":"2fd65c04707b4195a68df4c94adda134"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09aba45e-1687-4fb0-926d-ba1d4c10486f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"c24d11fc-da61-48ed-9aee-b942ef0b7591","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.6276424} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f30dfa15-b8f8-4229-84b6-8129ab9d34b8","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.6278467} 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":"2fd65c04707b4195a68df4c94adda134"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09aba45e-1687-4fb0-926d-ba1d4c10486f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09aba45e-1687-4fb0-926d-ba1d4c10486f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:07:02.627616710Z"}]},"request_id":"cad1de0d-19ef-46d4-a6d1-eb717931e716","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.6314156} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2fd65c04707b4195a68df4c94adda134"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"postDevices succeeded"} device-1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"2fd65c04707b4195a68df4c94adda134","responseTime":47,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"08/May/2024:10:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2fd65c04707b4195a68df4c94adda134"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"18973a1745542edf49712f5c64a15f90","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.686544,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162822,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyMn0.o3IP4yBmW-pDvZQluTJGZ-fD0cnjA_VjryQyI8xPbTc"} 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":"18973a1745542edf49712f5c64a15f90"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9ef2c0e1-d639-46b0-9437-6ed55b04ab08","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.6512814} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"18973a1745542edf49712f5c64a15f90"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6431907-970a-491d-b9a6-204e60d66aac","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.6555183} 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":"18973a1745542edf49712f5c64a15f90"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"9300f1fe-2030-41b3-b4bf-4e0d8bc95a08","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.663918} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"979fdd5a-8746-4b88-9e46-c6f3e858190a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.6640182} 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":"18973a1745542edf49712f5c64a15f90"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:07:02.663892885Z"}]},"request_id":"35276701-5c28-4b94-84a2-356e405c2110","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162822.6685655} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"18973a1745542edf49712f5c64a15f90"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevices succeeded"} gateway-1 | {"time_local":"08/May/2024:10:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"18973a1745542edf49712f5c64a15f90"} device-1 | {"level":"info","message":"POST /devices? 201 33ms","method":"POST","requestID":"18973a1745542edf49712f5c64a15f90","responseTime":33,"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":"7cbecb905363383904ccfbe0580eadad","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:07:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a/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":"7cbecb905363383904ccfbe0580eadad"} device-1 | {"level":"info","message":"OPTIONS /devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a/websocket 200 1ms","method":"OPTIONS","requestID":"7cbecb905363383904ccfbe0580eadad","responseTime":1,"status":200,"url":"/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNH0.uMdaatX8SPSFVzIECh2U_S91wX2qGGXHxsk_qUsyNmk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b663f507f08b6c2ad7e852bf1ae01eba","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.938769,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:04Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162824,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNH0.uMdaatX8SPSFVzIECh2U_S91wX2qGGXHxsk_qUsyNmk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b663f507f08b6c2ad7e852bf1ae01eba"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:07:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a/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":"b663f507f08b6c2ad7e852bf1ae01eba"} device-1 | {"level":"info","message":"POST /devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a/websocket 200 31ms","method":"POST","requestID":"b663f507f08b6c2ad7e852bf1ae01eba","responseTime":31,"status":200,"url":"/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNH0.uMdaatX8SPSFVzIECh2U_S91wX2qGGXHxsk_qUsyNmk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"451611d81df9103460374fd236654eb4","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.81427,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162824,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNH0.uMdaatX8SPSFVzIECh2U_S91wX2qGGXHxsk_qUsyNmk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"451611d81df9103460374fd236654eb4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:07:02.663892885Z"}]},"request_id":"22fedc70-22a5-4825-acdd-cb53e20866a2","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162824.6295145} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"451611d81df9103460374fd236654eb4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:07:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"451611d81df9103460374fd236654eb4"} device-1 | {"level":"info","message":"GET /devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a? 200 12ms","method":"GET","requestID":"451611d81df9103460374fd236654eb4","responseTime":12,"status":200,"url":"/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNH0.uMdaatX8SPSFVzIECh2U_S91wX2qGGXHxsk_qUsyNmk","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c10b251b885fbb7709f82bfbb287d308","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:52962","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.654591,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162824,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNH0.uMdaatX8SPSFVzIECh2U_S91wX2qGGXHxsk_qUsyNmk"} 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":"c10b251b885fbb7709f82bfbb287d308"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"},"level":"info","message":"Attempting to run experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"},"level":"info","message":"Attempting to book experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"},"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:52962","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.62193,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/09aba45e-1687-4fb0-926d-ba1d4c10486f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/09aba45e-1687-4fb0-926d-ba1d4c10486f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162824,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNH0.uMdaatX8SPSFVzIECh2U_S91wX2qGGXHxsk_qUsyNmk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b877e8d0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:04Z"} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670708,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162824,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNH0.uMdaatX8SPSFVzIECh2U_S91wX2qGGXHxsk_qUsyNmk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8780fe0-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09aba45e-1687-4fb0-926d-ba1d4c10486f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09aba45e-1687-4fb0-926d-ba1d4c10486f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:07:02.627616710Z"}]},"request_id":"436bf974-6811-432d-ab51-a154f51d6dad","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162824.6767735} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b877e8d0-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:07:02.663892885Z"}]},"request_id":"5f584402-d85d-4964-9ded-c36fb28657f9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162824.677795} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8780fe0-0d22-11ef-9118-35435c36490d"},"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/09aba45e-1687-4fb0-926d-ba1d4c10486f? 200 13ms","method":"GET","requestID":"b877e8d0-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/09aba45e-1687-4fb0-926d-ba1d4c10486f?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a? 200 13ms","method":"GET","requestID":"b8780fe0-0d22-11ef-9118-35435c36490d","responseTime":13,"status":200,"url":"/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"},"level":"info","message":"Setting up experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"},"level":"info","message":"Attempting to lock booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"},"level":"info","message":"Successfully locked booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"},"level":"info","message":"Attempting to instantiate devices for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.55496,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:04Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/09aba45e-1687-4fb0-926d-ba1d4c10486f","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/09aba45e-1687-4fb0-926d-ba1d4c10486f","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162824,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNH0.uMdaatX8SPSFVzIECh2U_S91wX2qGGXHxsk_qUsyNmk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"451","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b87be070-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623f2e63-99c1-4db1-b301-791c3477253d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"33503374-1267-4ef9-bd09-64801c275f3b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162824.7252357} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5746322f-5c33-40db-9073-ccc168d300d3","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162824.7255008} 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":"b87be070-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded"} authentication-1 | {"level":"info","message":"POST /token 201 16ms","method":"POST","requestID":"b881acd0-0d22-11ef-9375-f92c523ba2fe","responseTime":16,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/09aba45e-1687-4fb0-926d-ba1d4c10486f?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 57ms","method":"POST","requestID":"b87be070-0d22-11ef-9118-35435c36490d","responseTime":57,"status":201,"url":"/devices/09aba45e-1687-4fb0-926d-ba1d4c10486f?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"},"level":"info","message":"Attempting to update booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"},"level":"info","message":"Successfully updated booking for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"},"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/73e54a3b-4e0a-417c-a840-d6bcc4570594"},"level":"info","message":"Successfully running experiment"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:04Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.203383,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162824,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNH0.uMdaatX8SPSFVzIECh2U_S91wX2qGGXHxsk_qUsyNmk"} 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":"b88a1140-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:04Z"} authorization-1 | {"client_addr":"127.0.0.1:60106","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.934997,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162824,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNH0.uMdaatX8SPSFVzIECh2U_S91wX2qGGXHxsk_qUsyNmk"} 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":"b88a3850-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization-1 | {"client_addr":"127.0.0.1:60790","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:04Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623f2e63-99c1-4db1-b301-791c3477253d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623f2e63-99c1-4db1-b301-791c3477253d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:07:04.725205802Z"}]},"request_id":"a949f9d1-1efc-4f81-9098-deb4bf62654c","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162824.8009129} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b88a1140-0d22-11ef-9118-35435c36490d"},"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:60790","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.647371,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:04Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:07:02.663892885Z"}]},"request_id":"92fc1829-0282-402b-a474-8ff199300774","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162824.8026404} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623f2e63-99c1-4db1-b301-791c3477253d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f149c70b-fd4f-47db-8a7d-049ad90c1d2e","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162824.8027813} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b88a3850-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","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"} device-1 | {"level":"info","message":"GET /devices/623f2e63-99c1-4db1-b301-791c3477253d? 200 18ms","method":"GET","requestID":"b88a1140-0d22-11ef-9118-35435c36490d","responseTime":18,"status":200,"url":"/devices/623f2e63-99c1-4db1-b301-791c3477253d?"} 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":"b88a5f60-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a? 200 20ms","method":"GET","requestID":"b88a3850-0d22-11ef-9118-35435c36490d","responseTime":20,"status":200,"url":"/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a?"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F73e54a3b-4e0a-417c-a840-d6bcc4570594#owner@http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F73e54a3b-4e0a-417c-a840-d6bcc4570594","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"5ce21fcf-9627-4aaa-a9cb-13f1abba85c1","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162824.8094013} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device 623f2e63-99c1-4db1-b301-791c3477253d","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device 623f2e63-99c1-4db1-b301-791c3477253d\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/623f2e63-99c1-4db1-b301-791c3477253d/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"b88a5f60-0d22-11ef-9118-35435c36490d"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c9eeb12-1b4a-4ce5-be72-1486e01d10e5","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162824.809835} device-1 | {"level":"info","message":"POST /devices/623f2e63-99c1-4db1-b301-791c3477253d/signaling 404 21ms","method":"POST","requestID":"b88a5f60-0d22-11ef-9118-35435c36490d","responseTime":21,"status":404,"url":"/devices/623f2e63-99c1-4db1-b301-791c3477253d/signaling"} 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":"c10b251b885fbb7709f82bfbb287d308"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device 623f2e63-99c1-4db1-b301-791c3477253d"},"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:52962","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:04Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594","user":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0505b34c-048a-409d-91d5-46f67e1a2501","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162824.818141} gateway-1 | {"time_local":"08/May/2024:10:07:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c10b251b885fbb7709f82bfbb287d308"} experiment-1 | {"level":"info","message":"POST /experiments? 201 180ms","method":"POST","requestID":"c10b251b885fbb7709f82bfbb287d308","responseTime":180,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.005744,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","object_type":"device","rebac_allow":false,"scope_allow":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":"b88de1d0-0d22-11ef-9118-35435c36490d"},"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/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a/signaling 200 9ms","method":"POST","requestID":"b88de1d0-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a/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":"06cb6518d39074bbf9fd97739564bbb9","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"08/May/2024:10:07:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/623f2e63-99c1-4db1-b301-791c3477253d/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":"06cb6518d39074bbf9fd97739564bbb9"} device-1 | {"level":"info","message":"OPTIONS /devices/623f2e63-99c1-4db1-b301-791c3477253d/websocket 200 1ms","method":"OPTIONS","requestID":"06cb6518d39074bbf9fd97739564bbb9","responseTime":1,"status":200,"url":"/devices/623f2e63-99c1-4db1-b301-791c3477253d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6IjFmalZfTXZxUVJHMWNJMUVaRzlFZ1BIaG12VF94eWNZdzFCT0RQa1U0ZGVHVkl5WXZnN1dYSnloMmdwbTRFcDVNeFJfZWpjeUhhdWw1MVg4NGtvd3B3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNn0.z3ctwCcbAlxHbKx59sVRHQsJVR9OExLSDbbSSZJ-0Hs","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ed2f8e76a3ac835aca16c7f75ce7288e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.015314,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","object_type":"device","payload":{"admin":true,"edgeToken":"1fjV_MvqQRG1cI1EZG9EgPHhmvT_xycYw1BODPkU4deGVIyYvg7WXJyh2gpm4Ep5MxR_ejcyHaul51X84kowpw","iat":1715162826,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6IjFmalZfTXZxUVJHMWNJMUVaRzlFZ1BIaG12VF94eWNZdzFCT0RQa1U0ZGVHVkl5WXZnN1dYSnloMmdwbTRFcDVNeFJfZWpjeUhhdWw1MVg4NGtvd3B3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNn0.z3ctwCcbAlxHbKx59sVRHQsJVR9OExLSDbbSSZJ-0Hs"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ed2f8e76a3ac835aca16c7f75ce7288e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway-1 | {"time_local":"08/May/2024:10:07:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/623f2e63-99c1-4db1-b301-791c3477253d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ed2f8e76a3ac835aca16c7f75ce7288e"} device-1 | {"level":"info","message":"POST /devices/623f2e63-99c1-4db1-b301-791c3477253d/websocket 200 38ms","method":"POST","requestID":"ed2f8e76a3ac835aca16c7f75ce7288e","responseTime":38,"status":200,"url":"/devices/623f2e63-99c1-4db1-b301-791c3477253d/websocket"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d' 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":"79b703e68fc82c0e773b392b357100bb","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"connected":true,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNn0.WwvUxbZHZDR6Nmxk-VxDq5WpErRy8yXzIp0zDOR9Cfo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5d73b387e9e6d7ec09925ed11c3dfd8e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.806495,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162826,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNn0.WwvUxbZHZDR6Nmxk-VxDq5WpErRy8yXzIp0zDOR9Cfo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d73b387e9e6d7ec09925ed11c3dfd8e"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623f2e63-99c1-4db1-b301-791c3477253d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623f2e63-99c1-4db1-b301-791c3477253d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:07:04.725205802Z"}]},"request_id":"73af85a1-2993-4f81-a86d-bf560d968635","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162826.8281715} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d73b387e9e6d7ec09925ed11c3dfd8e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:07:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/623f2e63-99c1-4db1-b301-791c3477253d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5d73b387e9e6d7ec09925ed11c3dfd8e"} device-1 | {"level":"info","message":"GET /devices/623f2e63-99c1-4db1-b301-791c3477253d? 200 12ms","method":"GET","requestID":"5d73b387e9e6d7ec09925ed11c3dfd8e","responseTime":12,"status":200,"url":"/devices/623f2e63-99c1-4db1-b301-791c3477253d?"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 15ms","method":"POST","requestID":"79b703e68fc82c0e773b392b357100bb","responseTime":15,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:07: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.020","http_referrer":"","http_user_agent":"node-fetch","requestID":"79b703e68fc82c0e773b392b357100bb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNn0.WwvUxbZHZDR6Nmxk-VxDq5WpErRy8yXzIp0zDOR9Cfo","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2a5e5827fe7a80ba1330e1060509578b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:06Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.727801,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162826,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNn0.WwvUxbZHZDR6Nmxk-VxDq5WpErRy8yXzIp0zDOR9Cfo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2a5e5827fe7a80ba1330e1060509578b"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:07:02.663892885Z"}]},"request_id":"93f9a7bc-94e8-4750-985e-5fa90ab80258","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162826.8442278} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2a5e5827fe7a80ba1330e1060509578b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway-1 | {"time_local":"08/May/2024:10:07:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2a5e5827fe7a80ba1330e1060509578b"} device-1 | {"level":"info","message":"GET /devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a? 200 10ms","method":"GET","requestID":"2a5e5827fe7a80ba1330e1060509578b","responseTime":10,"status":200,"url":"/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} device-1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:09Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.904436,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162824,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNH0.uMdaatX8SPSFVzIECh2U_S91wX2qGGXHxsk_qUsyNmk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bb88ab40-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"client_addr":"127.0.0.1:60800","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60800","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.913458,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162824,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNH0.uMdaatX8SPSFVzIECh2U_S91wX2qGGXHxsk_qUsyNmk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bb88f960-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623f2e63-99c1-4db1-b301-791c3477253d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623f2e63-99c1-4db1-b301-791c3477253d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:07:04.725205802Z"}]},"request_id":"f6980219-940a-431f-9585-3c541d7991a4","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162829.8228173} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bb88ab40-0d22-11ef-9118-35435c36490d"},"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:57992","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"timestamp":"2024-05-08T10:07:02.663892885Z"}]},"request_id":"117f9c69-6e97-418c-90e1-1ddd698e9498","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162829.823588} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bb88f960-0d22-11ef-9118-35435c36490d"},"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/623f2e63-99c1-4db1-b301-791c3477253d? 200 16ms","method":"GET","requestID":"bb88ab40-0d22-11ef-9118-35435c36490d","responseTime":16,"status":200,"url":"/devices/623f2e63-99c1-4db1-b301-791c3477253d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device-1 | {"level":"info","message":"GET /devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a? 200 15ms","method":"GET","requestID":"bb88f960-0d22-11ef-9118-35435c36490d","responseTime":15,"status":200,"url":"/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:09Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623f2e63-99c1-4db1-b301-791c3477253d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60b9b8e0-913d-4a79-a226-23919d78cf3f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162829.8370464} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.484356,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","object_type":"device","rebac_allow":false,"scope_allow":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":"bb8bb880-0d22-11ef-9118-35435c36490d"},"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/623f2e63-99c1-4db1-b301-791c3477253d/signaling 200 12ms","method":"POST","requestID":"bb8bb880-0d22-11ef-9118-35435c36490d","responseTime":12,"status":200,"url":"/devices/623f2e63-99c1-4db1-b301-791c3477253d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:09Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a79c29f-c892-48bf-bbe1-2998e2632058","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162829.8516912} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.369601,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bb8e0270-0d22-11ef-9118-35435c36490d"},"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/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a/signaling 200 9ms","method":"POST","requestID":"bb8e0270-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"},"level":"info","message":"Building connection plan"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"990672ef-c21b-4a17-a428-c6061d44119b"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"5b3d27fc-cc90-4707-9901-3c5d17fcd53f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d6c84c16-545e-4f0f-8677-6fc40038332a"}]},"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/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device-1 | {"level":"info","message":"postPeerconnections called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:09Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.744095,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162824,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgyNH0.uMdaatX8SPSFVzIECh2U_S91wX2qGGXHxsk_qUsyNmk"} 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":"bb8fd730-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","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%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]}},"raw_response":{},"request_id":"cf465805-ac74-4726-bc5a-21fc8492d3f0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162829.871722} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ad56dcde-7ad0-4602-aab3-950e635e4525","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162829.8721147} 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":"bb8fd730-0d22-11ef-9118-35435c36490d"},"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/aa4bd409-0e0e-4c59-832c-7db9fd070e07'"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/aa4bd409-0e0e-4c59-832c-7db9fd070e07'"} device-1 | {"level":"info","message":"postPeerconnections succeeded"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 39ms","method":"POST","requestID":"bb8fd730-0d22-11ef-9118-35435c36490d","responseTime":39,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"},"level":"info","message":"Successfully created peerconnections for experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:09Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623f2e63-99c1-4db1-b301-791c3477253d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88bc75e6-15a1-4200-9f3c-183698727098","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162829.9298165} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.130759,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bb99e950-0d22-11ef-9118-35435c36490d"},"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/623f2e63-99c1-4db1-b301-791c3477253d/signaling 200 9ms","method":"POST","requestID":"bb99e950-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/623f2e63-99c1-4db1-b301-791c3477253d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:09Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4017ae6c-e420-4072-ad29-9141de7bb7fe","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162829.9404418} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.900459,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","object_type":"device","rebac_allow":false,"scope_allow":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":"bb9b9700-0d22-11ef-9118-35435c36490d"},"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/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a/signaling 200 11ms","method":"POST","requestID":"bb9b9700-0d22-11ef-9118-35435c36490d","responseTime":11,"status":200,"url":"/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a/signaling"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a'"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/aa4bd409-0e0e-4c59-832c-7db9fd070e07' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"aa4bd409-0e0e-4c59-832c-7db9fd070e07","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":"416169490088db18c7b0c5d2ff7665d5","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/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/aa4bd409-0e0e-4c59-832c-7db9fd070e07"}}},"level":"info","message":"received a callback"} gateway-1 | {"time_local":"08/May/2024:10:07: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"416169490088db18c7b0c5d2ff7665d5"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"416169490088db18c7b0c5d2ff7665d5","responseTime":6,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"aa4bd409-0e0e-4c59-832c-7db9fd070e07","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"aa4bd409-0e0e-4c59-832c-7db9fd070e07","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/aa4bd409-0e0e-4c59-832c-7db9fd070e07' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"aa4bd409-0e0e-4c59-832c-7db9fd070e07","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":"8a40f872b950c7dd1d963227ef5b5148","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/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/aa4bd409-0e0e-4c59-832c-7db9fd070e07"}}},"level":"info","message":"received a callback"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:10Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faa4bd409-0e0e-4c59-832c-7db9fd070e07","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"08600c47-bf31-4c71-a8a4-0814604f413b","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162830.0302625} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.516767,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/aa4bd409-0e0e-4c59-832c-7db9fd070e07","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/aa4bd409-0e0e-4c59-832c-7db9fd070e07","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":"bba952a0-0d22-11ef-9118-35435c36490d"},"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/aa4bd409-0e0e-4c59-832c-7db9fd070e07 200 8ms","method":"GET","requestID":"bba952a0-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/peerconnections/aa4bd409-0e0e-4c59-832c-7db9fd070e07"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 28ms","method":"POST","requestID":"8a40f872b950c7dd1d963227ef5b5148","responseTime":28,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"8a40f872b950c7dd1d963227ef5b5148"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:10Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce716529-14f3-4e17-9944-8bb1aba482a0","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162830.0548875} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.469979,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","object_type":"device","rebac_allow":false,"scope_allow":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":"bbacfc20-0d22-11ef-9118-35435c36490d"},"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/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a/signaling 200 9ms","method":"POST","requestID":"bbacfc20-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:10Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623f2e63-99c1-4db1-b301-791c3477253d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f450f0a-fe11-4339-9379-738dd108b9be","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162830.0646956} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.190027,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","object_type":"device","rebac_allow":false,"scope_allow":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":"bbae82c0-0d22-11ef-9118-35435c36490d"},"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/623f2e63-99c1-4db1-b301-791c3477253d/signaling 200 8ms","method":"POST","requestID":"bbae82c0-0d22-11ef-9118-35435c36490d","responseTime":8,"status":200,"url":"/devices/623f2e63-99c1-4db1-b301-791c3477253d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgzMH0.QCjoDl2k_b_W0yKttOkAKpM-3TQWxWkuB5wXCPjLqlc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"87e7ed07d16d51a0905be3c794a116b2","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.764095,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:10Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162830,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgzMH0.QCjoDl2k_b_W0yKttOkAKpM-3TQWxWkuB5wXCPjLqlc"} 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":"87e7ed07d16d51a0905be3c794a116b2"},"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/73e54a3b-4e0a-417c-a840-d6bcc4570594"} gateway-1 | {"time_local":"08/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594 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":"87e7ed07d16d51a0905be3c794a116b2"} experiment-1 | {"level":"info","message":"GET /experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594 200 10ms","method":"GET","requestID":"87e7ed07d16d51a0905be3c794a116b2","responseTime":10,"status":200,"url":"/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgzMH0.QCjoDl2k_b_W0yKttOkAKpM-3TQWxWkuB5wXCPjLqlc","level":"info","message":"auth send jwt"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c64c7b314d665bf83a2cfb12d0592a5c","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.01065,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:10Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"experiment:http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594","object_type":"experiment","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162830,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgzMH0.QCjoDl2k_b_W0yKttOkAKpM-3TQWxWkuB5wXCPjLqlc"} 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":"c64c7b314d665bf83a2cfb12d0592a5c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"},"level":"info","message":"Attempting to finish experiment"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.726605,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:10Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/aa4bd409-0e0e-4c59-832c-7db9fd070e07","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"peerconnection:http://localhost/peerconnections/aa4bd409-0e0e-4c59-832c-7db9fd070e07","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162830,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgzMH0.QCjoDl2k_b_W0yKttOkAKpM-3TQWxWkuB5wXCPjLqlc"} 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":"bbb7d190-0d22-11ef-9118-35435c36490d"},"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/aa4bd409-0e0e-4c59-832c-7db9fd070e07' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/aa4bd409-0e0e-4c59-832c-7db9fd070e07' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"aa4bd409-0e0e-4c59-832c-7db9fd070e07","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":"6085418886fb9b5d08ee7db992dc422a","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/aa4bd409-0e0e-4c59-832c-7db9fd070e07"}}},"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":"6504bd1212b701cc1e294b138fa3e4fb","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faa4bd409-0e0e-4c59-832c-7db9fd070e07': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faa4bd409-0e0e-4c59-832c-7db9fd070e07","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"be6e7625-ad20-4275-b64c-e364eb54edee","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162830.142415} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8bdd610c-0f60-4ac9-b7bd-9ed0c629d6ca","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162830.1430092} 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":"bbb7d190-0d22-11ef-9118-35435c36490d"},"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":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/aa4bd409-0e0e-4c59-832c-7db9fd070e07"}}},"level":"info","message":"received a callback"} device-1 | {"data":{"peerconnection":"aa4bd409-0e0e-4c59-832c-7db9fd070e07","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/aa4bd409-0e0e-4c59-832c-7db9fd070e07 204 59ms","method":"DELETE","requestID":"bbb7d190-0d22-11ef-9118-35435c36490d","responseTime":59,"status":204,"url":"/peerconnections/aa4bd409-0e0e-4c59-832c-7db9fd070e07"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:10Z"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672502,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:10Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","object_type":"device","payload":{"admin":true,"edgeToken":"y6eQon_Y8dllpgwVwtYWJjJhHtpXRaBN3PMXkzNcMNIaJxAemgDMKNTW5qDb_TgWX3zlRIcFsaJIr2sYOCbFvA","iat":1715162830,"sub":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0","subject_alt":"http://localhost/users/ef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2VmN2NmNDI4LTBiMGQtNDQzYi05YTUyLWEzOGJhMWZmOTVkMCIsImVkZ2VUb2tlbiI6Ink2ZVFvbl9ZOGRsbHBnd1Z3dFlXSmpKaEh0cFhSYUJOM1BNWGt6TmNNTklhSnhBZW1nRE1LTlRXNXFEYl9UZ1dYM3psUkljRnNhSklyMnNZT0NiRnZBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxNTE2MjgzMH0.QCjoDl2k_b_W0yKttOkAKpM-3TQWxWkuB5wXCPjLqlc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"446","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bbc12060-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F623f2e63-99c1-4db1-b301-791c3477253d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623f2e63-99c1-4db1-b301-791c3477253d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"762e5028-a60b-4fdb-864d-a897b7872b01","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162830.192263} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0fc7006c-9e60-4fb2-a5a5-570c6a8697ed","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162830.1925} 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":"bbc12060-0d22-11ef-9118-35435c36490d"},"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/623f2e63-99c1-4db1-b301-791c3477253d 204 20ms","method":"DELETE","requestID":"bbc12060-0d22-11ef-9118-35435c36490d","responseTime":20,"status":204,"url":"/devices/623f2e63-99c1-4db1-b301-791c3477253d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"},"level":"info","message":"Successfully finished experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Received request.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:10Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"83fb84f4-ecb7-420a-a2e1-791f5d6f2e7a","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162830.2215383} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.811451,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bbc65080-0d22-11ef-9118-35435c36490d"},"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/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a/signaling 200 9ms","method":"POST","requestID":"bbc65080-0d22-11ef-9118-35435c36490d","responseTime":9,"status":200,"url":"/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F73e54a3b-4e0a-417c-a840-d6bcc4570594': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F73e54a3b-4e0a-417c-a840-d6bcc4570594","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fef7cf428-0b0d-443b-9a52-a38ba1ff95d0"}]},"store_id":"01HXBTKVRQ47VFM6WA12259AXA","writes":null},"raw_response":{},"request_id":"d45ee9ce-55cb-4177-b6e3-af68515eff4f","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162830.228472} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store_id":"01HXBTKVRQ47VFM6WA12259AXA"},"raw_response":{"authorization_model":{"id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3cca6800-6bba-4a24-a05e-b7b39f9e74c9","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162830.228747} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c64c7b314d665bf83a2cfb12d0592a5c"},"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:52962","level":"info","msg":"Received request.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-05-08T10:07:10Z"} authorization-1 | {"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:57992","raw_request":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","contextual_tuples":null,"store_id":"01HXBTKVRQ47VFM6WA12259AXA","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F623f2e63-99c1-4db1-b301-791c3477253d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f5e3b00-70b8-4233-8cca-1c26d181c9c6","store_id":"01HXBTKVRQ47VFM6WA12259AXA","subsystem":"openfga","timestamp":1715162830.2329986} authorization-1 | {"client_addr":"127.0.0.1:52962","level":"info","msg":"Sent response.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.901896,"resp_status":200,"subsystem":"opa","time":"2024-05-08T10:07:10Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","openfga":{"authorization_model_id":"01HXBTKVTJQ4BG1QRWAFQSXCHA","store":"01HXBTKVRQ47VFM6WA12259AXA"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d","object_type":"device","rebac_allow":false,"scope_allow":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":"bbc7fe30-0d22-11ef-9118-35435c36490d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device-1 | {"data":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database","method":"POST","stack":"MissingEntityError: The requested Device Overview does not exist in the database\n at DeviceOverviewRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-common/lib/esm/database/abstractRepository.js:63:19)\n at async DeviceRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-device/app/database/repositories/device.js:155:32)\n at async Object.postDevicesByDeviceIdSignaling (file:///usr/local/lib/node_modules/@crosslab/service-device/app/operations/devices/device/signaling/post.js:22:25)\n at async file:///usr/local/lib/node_modules/@crosslab/service-device/app/generated/routes.js:276:28","status":404,"url":"/devices/623f2e63-99c1-4db1-b301-791c3477253d/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"bbc7fe30-0d22-11ef-9118-35435c36490d"} device-1 | {"level":"info","message":"POST /devices/623f2e63-99c1-4db1-b301-791c3477253d/signaling 404 10ms","method":"POST","requestID":"bbc7fe30-0d22-11ef-9118-35435c36490d","responseTime":10,"status":404,"url":"/devices/623f2e63-99c1-4db1-b301-791c3477253d/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database"},"status":404}},"level":"error","message":"Could not send status-update message"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"} gateway-1 | {"time_local":"08/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c64c7b314d665bf83a2cfb12d0592a5c"} experiment-1 | {"level":"info","message":"DELETE /experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594 204 174ms","method":"DELETE","requestID":"c64c7b314d665bf83a2cfb12d0592a5c","responseTime":174,"status":204,"url":"/experiments/73e54a3b-4e0a-417c-a840-d6bcc4570594"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"6085418886fb9b5d08ee7db992dc422a","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"6085418886fb9b5d08ee7db992dc422a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"6504bd1212b701cc1e294b138fa3e4fb","responseTime":140,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"6504bd1212b701cc1e294b138fa3e4fb"} gateway-1 | {"time_local":"08/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2406","request_time":"3.495","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fa074e385e9bf267d81bc57926f24b17"} gateway-1 | {"time_local":"08/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2647","request_time":"5.689","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5b62b594b29ece309c25d80130d104d7"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d' 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":"78c94dcd263ca2df61a087b31d7e4270","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"connected":false,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/623f2e63-99c1-4db1-b301-791c3477253d"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 3ms","method":"POST","requestID":"78c94dcd263ca2df61a087b31d7e4270","responseTime":3,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"08/May/2024:10:07:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "410","body_bytes_sent":"5","request_time":"0.006","http_referrer":"","http_user_agent":"node-fetch","requestID":"78c94dcd263ca2df61a087b31d7e4270"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/96fbc982-f73a-4e6c-9aeb-1e6ef2b2b71a' closed"} authentication-1 exited with code 0 device-1 exited with code 0 authorization-1 exited with code 0 experiment-1 exited with code 0 federation-1 exited with code 0 gateway-1 exited with code 0